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 的迁移指南,并提供了有关集成和图形用户界面测试的其他内容。你应该看看
尽管我正在使用 @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 的迁移指南,并提供了有关集成和图形用户界面测试的其他内容。你应该看看