继续进行另一次测试,前一次以硒结束

时间:2014-09-03 11:59:23

标签: java selenium

是否可以继续进行另一场测试,前一场测试结束?

我的意思是......我有一些测试。第一个测试是测试登录功能。另一个是测试用户面板中的一些东西。但最后一个再次登录登录。那么,第一次测试运行是否有可能检查登录功能,然后另一个继续其“工作”?

2 个答案:

答案 0 :(得分:0)

如果在测试之间共享驱动程序实例,那么是。您需要以

的方式设计测试
  1. 第二次测试应该依靠第一次测试来保证订单。
  2. 首次测试后驾驶员不应退出
  3. 第二次测试前不应执行驱动程序初始化代码
  4. 但是,编写独立测试更好。

答案 1 :(得分:0)

选项1:

假设:

  • 他们在同一个测试夹具中
  • 驱动程序已共享
  • " 30分钟"在您对上一个答案的评论是由于登录过程,而不是登录验证

您可以在第二个测试中添加if语句,以验证是否已完成登录。如果还没有完成,那么只需调用login方法即可。这样可以节省重复的登录代码。

[Test]
public void LoginTest() {
  login();
  bool isLoggedIn = loginVerification();
  Assert.IsTrue( isLoggedIn );

[Test]
public void UserPanelTest() {
  bool isLoggedIn = loginVerification();
  if( !isLoggedIn ) {
    login();
  }
  //The rest of your test
}

private void login() {
  //Code to log in
}

private bool loginVerification() {
  bool isLoggedIn;
  //Some code to check if login was successful
  return isLoggedIn;
}

选项2:

在TestFixtureSetUp中登录,然后只在登录测试中进行验证。

[TestFixtureSetUp]
public void FixtureSetUp() {
  //Rest of setup
  login();
}

[Test]
public void LoginTest() {
  bool isLoggedIn = loginVerification();
  Assert.IsTrue( isLoggedIn );

[Test]
public void UserPanelTest() {
  //Code for this test
}

private void login() {
  //Code to log in
}

private bool loginVerification() {
  bool isLoggedIn;
  //Some code to check if login was successful
  return isLoggedIn;
}