我正在创建使用Webdriver / Appium for Android测试网站的测试用例。我也在XML文件中使用TestNG运行这些测试。
我的每个测试用例都在一个单独的类中,我需要为每个测试/类启动一个新的远程会话,所以每个类都需要这个setup(),每次不同的类都会启动一个新的远程会话运行。
有没有办法只启动一个会话,只使用该会话进行所有测试?
@BeforeClass
public void setup() throws MalformedURLException {
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability(MobileCapabilityType.PLATFORM_NAME,MobilePlatform.ANDROID);
cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Note 4");
cap.setCapability(MobileCapabilityType.BROWSER_NAME, "Chrome");
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
答案 0 :(得分:2)
答案 1 :(得分:1)
@BeforeSuite
使用setup()
。在testng.xml中,在<classes>
块中指定<test> </test>
。这应该是必要的。像这样:
@BeforeSuite
public void setup() throws MalformedURLException...
&安培;&安培;
<suite name="MyTestSuite" verbose="1" >
<test name=TestName">
<classes>
<class name="xyz.OneTestClass" />
<class name ="xyz.AnotherTestClass"/>
</classes>
</test>
</suite>
答案 2 :(得分:1)
您可以使用以下代码在一个回合中运行多个测试用例:
driver.closeApp();
driver.lauchApp();
它可能对你有帮助。