selenium 中的测试未按所需顺序运行

The tests in selenium are not runing at the desired order

尽管我正在使用 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
我的测试未按所需顺序运行

我有 2 个测试,
第一个 tets 名称是:aTest_Login()
第二个测试名称是:bTest_CreateContact()

有时第二个测试在第一个测试之前运行。

不知道 @FixMethodOrder 的详细信息,它似乎是 JUnit 的东西。顾名思义,JUnit 是一个执行单元测试的框架。单元测试之间不能有任何依赖或联系(这是单元测试的想法),因此它们执行的顺序不能影响结果,它们是可交换的。如果您想以特定顺序执行测试以进行集成和 gui 测试,我强烈建议使用支持测试依赖项的东西,例如 Test NG

在 TestNG 中,您可以定义测试组并指定测试依赖项。如果你想 运行 gui 测试第一个 "root" 测试可以是你的测试系统是否在线(因为如果系统离线你所有的 gui 测试都会失败所以只有一个失败是有意义的测试,说系统离线)。

@Test(groups = "login") 
public void aTest_Login() {
   ...
}

@Test(groups = {"contacts", "creation"}, dependsOnGroups = "login") 
public void bTest_CreateContact(){
  // this test will only be executed if all tests of the group "login" passed
}

TestNG 有来自 JUnit 的迁移指南,并提供了有关集成和图形用户界面测试的其他内容。你应该看看