Appium是否可以在多个设备上同时运行多个不同的测试?

问题描述 投票:0回答:3

我是Appium / Selenium并行测试的新手,我想知道是否可以在多个设备上同时运行不同的测试?我的团队需要减少UI测试的总运行时间,而不必担心会影响这些特定测试的应用程序行为的不同OS版本。我已经阅读了许多帖子,并试图寻找答案,但我似乎只能在互联网上找到有关如何在多个设备上并行运行同一测试的文章,教程和论坛。

我可以在多个设备上同时运行不同的测试,而无需手动启动不同的测试,或者这是Appium的局限性吗?理想情况下,这可以使用开源解决方案来实现。

感谢您的时间。

selenium appium selenium-grid appium-android appium-ios
3个回答
0
投票
您要问的是,基本上不可能。

您不能在不同的设备上运行不同的测试用例。

尽管您可以使用Hive或Browserstack或AWS设备场在各种设备上运行相同的测试用例。

希望这会有所帮助。


0
投票
根据您的设置,您可以完成此操作。但是,您或您的团队自定义将需要设置很多构建自动化和设备管理,因此您将无法使用即用型解决方案来执行此操作。

我在Selenium和Appium上都完成了相同的工作-您将需要一个测试框架,该框架允许使用参数执行测试,并且您的设备将需要连接到分别连接了自己的虚拟服务器的单独的USB集线器。

使用NUnit,这是我的方法:

    为我要运行的每个不同测试集生成[.txt文件-test_list_1.txt, test_list_2.txt等。每个列表包含要运行的不同测试用例组。
  • [编写构建脚本以从头开始清理并构建项目-对于C#,我使用Cake。
  • 在Jenkins中设置一个作业,该作业执行您的构建脚本并调用NUnit的控制台运行程序,该运行程序将test_list作为参数。这将针对一系列测试用例启动测试执行
  • 您应该能够针对所需的任何测试列表构建Jenkins作业,因此,您现在能够针对不同的测试运行自动化,如问题描述中所述。

    将您的虚拟机(连接到Appium设备的虚拟机)连接到Jenkins,并将其添加为您的工作执行者。现在,您有多台机器可以运行您的工作。

    通过此设置,您可以运行与拥有计算机一样多的作业-4个VM意味着4个作业,这意味着您可以同时运行4组不同的测试用例。

    我将其设置为完全自定义-我使用某些工具来完成各个步骤,但它可以满足我们的需求,并且确实针对不同的测试用例集完成了并发执行。


  • 0
    投票
    您可以通过创建多个appium服务器实例在多个设备上本地运行测试。每个Appium服务器应在不同的IP和代理地址上运行。因此,您应该相应地为每个实例设置功能。但是,还有另一种解决方案,但这有点昂贵。那就是

    AWS Device Farm。 AWS提供了托管在该服务器上的多个真实设备,您可以使用这些设备执行定制的测试服。他们最初提供1000分钟的免费测试时间。您必须为测试脚本创建一个maven项目。我更喜欢使用testng而不是Junit。

    © www.soinside.com 2019 - 2024. All rights reserved.