Java 如何在不同的webdriver类中保持testng中的依赖性
我有一个类似于两个不同测试类的场景,第二个测试类的结果取决于第一个 公共班级1 { @试验 public void sometest1() { //一些功能 } }Java 如何在不同的webdriver类中保持testng中的依赖性,java,selenium-webdriver,testng,Java,Selenium Webdriver,Testng,我有一个类似于两个不同测试类的场景,第二个测试类的结果取决于第一个 公共班级1 { @试验 public void sometest1() { //一些功能 } } 这里,如果class1的结果为“通过”,则需要执行class2,否则class2需要失败。(如果没有相同的规定,我需要在selenium网格并行运行中始终首先执行class1中的test1)您可以使用dependsOnMethods如下所示 @Test public void test1() { // In
这里,如果class1的结果为“通过”,则需要执行class2,否则class2需要失败。(如果没有相同的规定,我需要在selenium网格并行运行中始终首先执行class1中的test1)您可以使用dependsOnMethods如下所示
@Test
public void test1() {
// Instantiate another case class
// Call your testcase
}
@Test(dependsOnMethods="test1")
public void test2() {
}
testng中有一些注释允许您选择所需的流。 我从未使用过testng,但我认为您可以在这里找到合适的注释:
可能是dependsOnGroups帮助您您可以在testng中使用group和dependency在执行某些测试后运行测试。如果1级考试不及格,就没有办法(至少据我所知)2级考试不及格
public class Class1Test {
@Test(groups="RunFirst")
public void sometest1() {
Assert.fail("just to skip the other test");
}
}
public class Class2Test {
@Test(dependsOnGroups="RunFirst")
public void sometest2() {
System.out.println("I am running");
}
}
此处,Class2Test将在ClassTest运行后运行,如果ClassTest失败,则将跳过该测试。如前所述,请参阅:
public class Class1Test {
@Test(groups="RunFirst")
public void sometest1() {
Assert.fail("just to skip the other test");
}
}
public class Class2Test {
@Test(dependsOnGroups="RunFirst")
public void sometest2() {
System.out.println("I am running");
}
}
根据上面的评论,我希望您尝试使用另一个类中的dependens-for方法。在这种情况下,您需要提供完整的路径ie package.class.method
类别1:
public class testingcode {
@Test
public void test1(){
System.out.println("test1");
}
}
类别2:
public class testcase1{
@Test(dependsOnMethods={"com.test.testingcode.test1"})
public void testcase1result() throws InterruptedException{
System.out.println("test");
}
}
从TestNG.xml文件运行
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none" preserve-order="true">
<test name="Test">
<classes>
<class name="com.test.testingcode"/>
<class name="com.test.testcase1"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
如果它不起作用,请告诉我
谢谢,,
Muralithnaks感谢您的时间,但问题是我们正在使用自定义工具,要更新那里的结果,我们只需要使用不同的类,如果它在同一个类上,上述建议的解决方案将对我有所帮助,但我的情况是使用不同的类,因为您需要创建一个主要类型的测试类,您需要手动调用其他测试用例的地方。例如,在test1内实例化并调用测试类,然后在test2内实例化并调用测试类,以此类推。看看我的答案,希望这对你有用。如果这有帮助,请投票或接受这个答案