【问题标题】:Running parallel and sequential tests using TestNG, Appium and Selenium使用 TestNG、Appium 和 Selenium 运行并行和顺序测试
【发布时间】:2020-11-06 16:35:21
【问题描述】:

我正在构建一个应该支持在 Android、iOS 和 Web 上执行测试的测试框架。由于应用程序很复杂,有许多测试用例(1000+),其中一个要求是能够并行执行(这里应该包括只需要单个设备的测试),还具有父子行为的测试(聊天应用程序 - SMS 从设备“A”发送到设备“B”)。我打算将 POM 与 PageFactory 一起使用。

所以这里是我对如何做到这一点的初步想法:

  • 在套件中使用 CLI 在 android/ios 上安装应用程序
  • 在testng.xml中提供设备相关参数如udid、platform、os等...
  • 在扩展所有测试的 BaseTest 中的 beforeMethod 中 - 初始化驱动程序(android、ios 或 web (chrome、ff...))
  • AfterMethod 退出驱动程序(我也可以在测试级别使用 before/after 方法)

优点: 在每次测试之前易于管理驱动程序实例的创建, 可管理的顺序(父子)测试执行(在 testng.xml 我可以指定父子方法) 易于管理的并行执行。

缺点: 在每个测试方法之前创建一个驱动程序的实例会很耗时, 如果一个测试执行登录,而下一个测试需要发送短信,由于 beforeMethod 中的驱动程序初始化,我需要再次执行登录(代码重复)。

您能否建议或指出一个可以支持所有提到的要求的框架。 我应该使用硒网格吗?

非常感谢任何帮助:)

【问题讨论】:

    标签: java selenium-webdriver parallel-processing testng appium


    【解决方案1】:

    根据您的描述,您可以查看AppiumTestDistribution 框架并根据您的需要对其进行扩展。

    我建议检查official docs,这个项目是start的好点

    我自己的一个注释:在BeforeSuite中只启动一次驱动程序:安装应用程序和appium助手应用程序很耗时;您可以简单地在BeforeTest 中重置应用程序状态,例如通过开始活动

    【讨论】:

    • 嗨,@dmle 感谢您的反馈,我一定会检查您提到的框架。对我来说,最大的挑战是在一个测试类中支持顺序(设备 A 和设备 B,或 Web)测试执行。
    猜你喜欢
    • 2017-07-22
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 2022-01-23
    • 2020-05-21
    • 2021-10-22
    • 2015-12-28
    • 2016-09-25
    相关资源
    最近更新 更多