我正在使用selenium-maven-cucumber-testng进行web whatsapp自动化练习。我有以下问题。
期望:我有很多功能文件,我想依次运行所有功能文件,如下所示:
执行特征文件-> close browser中提到的第一个特征文件-> open browser ->run步骤。执行第二个特征文件-> open browser -> run步骤,这些步骤在特征文件-> close browser等中提到。
结果:目前所有的功能文件都在运行并通过。但是浏览器只打开一次,即,
打开browser -> run feature file2 1,feature file2等->关闭浏览器。
我想按照"Expected“中解释的那样运行。
我的Testng:testng.xml
我的RunnerClass:
我的钩子:
发布于 2018-06-24 21:17:55
BeforeTest
和AfterTest
将只运行一次,因为testng.xml中只有一个test
块。一种方法是为每个功能文件创建单独的runners,并具有单独的test
块。
<test name="Feature_File_1">
<classes>
<class name="Runner1"/>
</classes>
</test>
<test name="Feature_File_2">
<classes>
<class name="Runner2"/>>
</classes>
</test>
另外,在当前的运行器类中,删除junit注释@RunWith
。
发布于 2018-06-25 14:18:14
您需要将您的TestNG挂钩更改为黄瓜挂钩。为什么会这样呢?因为您想要在您的问题中详细说明的每个场景之后关闭浏览器。
如下所示:
import cucumber.api.java.After;
import cucumber.api.java.Before;
public class Hooks {
@Before
public void beforeScenario(){
System.out.println("This will run before the Scenario");
}
@After
public void afterScenario(){
System.out.println("This will run after the Scenario");
}
}
https://stackoverflow.com/questions/51009778
复制相似问题