【问题标题】:Get() and Set() between multiple @Test, Selenium WebDriver多个@Test、Selenium WebDriver之间的Get()和Set()
【发布时间】:2013-05-16 09:52:13
【问题描述】:

我正在使用 Selenium WebDriver 和 Arquillian 无人机进行这些测试。

我的测试是如何构建的:

@RunWith(Arquillian.class)
public class SimpleTest{

  private String idPo;

  public String getIdPo() {
    return idPo;
  }

  public void setIdPo(String id) {
    idPo = id;
  }

  @Test
  public void setTest() {
    setIdPo("5");
  }

  @Test
  public void getTest() {
    String temp = getIdPo(); // ----> returns null
    Assert.assertTrue(temp.equals("5"));
  }

}

当我设置值时,一切似乎都正常,但是当我切换到另一个测试时,IdPo 为空。 是否有可能每个@Test 释放和更新变量?

【问题讨论】:

  • 检查测试用例执行的顺序,如果 getTest() 先执行它总是 null
  • 如果顺序正确,则将 idPo 设为静态。

标签: java selenium junit selenium-webdriver jboss-arquillian


【解决方案1】:

我发现了错误...

当我调用我正在使用的 getter 时:getId() 而不是 getIdPo()

但是 Eclipse 从来没有下划线 getId() .. 真的不知道为什么.. 因为它在我的代码中不存在..

【讨论】:

    【解决方案2】:

    我相信 BeforeTest 应该可以帮到你。

    @BeforeTest:被注释的方法将在任何测试方法之前运行 属于标签内的类运行。

    只需编写一个方法并使用@BeforeTest 对其进行注释并根据需要设置值。

    【讨论】:

      猜你喜欢
      • 2014-05-21
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 2017-04-27
      • 1970-01-01
      相关资源
      最近更新 更多