首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用TestNG、Java和Appium在多个移动设备上并行运行每项测试?

如何使用TestNG、Java和Appium在多个移动设备上并行运行每项测试?
EN

Stack Overflow用户
提问于 2021-02-23 15:23:29
回答 2查看 221关注 0票数 0

我有5个移动设备,我想在所有设备上运行我的自动化移动应用程序测试用例,以检查兼容性。为此,我需要在所有5个设备上同时运行每个测试。因此,如果我有10个测试用例,每个测试用例都将在所有设备上运行,这将使总数达到50。

我正在动态创建一个设备池。该池将具有连接到主机的设备。因此,在运行测试用例之前,它不会事先了解设备UDID。我知道要为此创建多个Appium会话。问题是,我需要根据连接的设备数量,以某种方式为每个测试用例创建多个副本,然后在所有设备上运行每个副本。

示例:

代码语言:javascript
复制
@Test
public void test1(){
}
@Test
public void test2(){
}

设备池连接了5个设备。现在,我希望在每个设备上运行test1()。类似地,它也适用于test2()。我可以创建多个Appium会话并从设备池中分配一个设备。问题是如何在TestNG中复制运行时的测试方法。

在TestNG中,我找不到任何简单的方法来做这件事。有可能实现吗?如果是,任何示例都可以。

EN

回答 2

Stack Overflow用户

发布于 2021-02-23 18:13:38

您必须为每个设备启动多个appium会话。另外,请点击下面的链接,详细介绍相关内容。

https://www.toolsqa.com/mobile-automation/appium/appium-parallel-execution-using-testng/

票数 0
EN

Stack Overflow用户

发布于 2021-03-01 01:43:21

如果您使用的是maven和TestNG,那么您应该了解.xml文件和测试套件。尝试实现IAlterSuiteListener并使用测试文件更改您的.xml。Test NG允许以各种方式分离线程:例如,对于3个设备,您可以这样运行1个相同的测试:

  1. 使用此xml -
  2. 中指定的测试创建测试侦听器.xml文件,该侦听器在运行时使用侦听器实现IAlterSuiteListener
  3. Alter xml文件,该侦听器可以检测连接的设备的数量(等于线程数),因此您可以设置thread-count并在循环中添加测试。

代码语言:javascript
复制
suite name="Android Compatibility Tests" parallel="tests" thread-count="3"

<test name="Android Compatibility Test-1">
    <classes>
        <class name="tests.android_tests.AndroidCompatibilityTest">
        </class>
    </classes>
</test>

  <test name="Android Compatibility Test-2">
    <classes>
        <class name="tests.android_tests.AndroidCompatibilityTest">
        </class>
    </classes>
</test>

 <test name="Android Compatibility Test-3">
    <classes>
        <class name="tests.android_tests.AndroidCompatibilityTest">
        </class>
    </classes>
</test>

在Appium 1中阅读关于并行性的documentationhttps://www.javadoc.io/doc/org.testng/testng/6.11enter代码在这里/org/testng/IAlterSuiteListener.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66328743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档