当前位置: 首页 > 知识库问答 >
问题:

如何在AWS设备场的类中的测试之间重用webdriver会话?

齐迪
2023-03-14

我的appium/python测试套件的测试都需要先登录应用程序。GitHub示例仅展示如何为套件中的每个测试设置/拆卸Web驱动程序。在我的情况下,它将是伟大的重用现有的WebDriver会话为所有的测试。

但是,在AWS设备场环境中,每个测试方法都会执行setUpClass/tearDownClass方法。我试图将webdriver创建为类变量,但在AWS设备场中无效(尽管在本地有效)。

设置webdriver会话、登录到应用程序、然后运行套件中的所有测试、重用同一个web驱动程序会话,然后从应用程序注销并退出webdriver的最佳方式是什么?

共有1个答案

秋光熙
2023-03-14

我为AWS设备场团队工作。在每次测试之前和之后运行的测试中,您对设置和删除类的观察是正确的。

设备场中的每个测试都针对appium server/session的一个新实例运行。这有助于我们向用户提供更细粒度的报告和测试工件。

我们还遵循用户测试是模块化的原则,这是大多数测试框架所定义的。这意味着测试之间没有依赖关系。

一种方法,而不是最好的方法,是在一个中心测试用例中按照您喜欢的顺序调用所有的测试方法。通过这种方式,您可以在一个测试用例中登录并执行其他操作。明显的缺点是,如果这些测试中的任何一个失败,它将报告主测试失败,并且您必须编写测试,以便在日志中可以清楚地看到测试失败的部分。

第二种方法是在需要登录的测试之前进行登录步骤。这样,您的测试也是模块化的,并且不相互依赖。

我们总是乐于接受反馈,我已将此记为一个功能请求。希望这有帮助。

 类似资料:
  • 我试图将iOS XCTest设置为在AWS设备场上运行,但似乎无论我如何构建和上传它们,每次测试都会出错并失败。当我运行XCode时,它们会成功执行,但不会在AWS设备场上运行。 我甚至尝试了从非常简单的应用程序,没有任何api调用,但也失败了。 以下是AWS设备场界面中出现的错误。 你可以从这里看到日志

  • 我已将AWS设备场配置为对我的应用程序运行自动测试。 在这篇文章之后,我成功地运行了使用和测试类型的测试。 现在我想使用Appium测试NG类型。我已经安装了appium模块并使其运行: 但是现在呢?如何编写和使用离子2测试? 这里说: 您的Android Appium Java TestNG测试必须包含在。他们指向Appium的官方网站,进一步解释如何在android或ios设备上使用Appiu

  • 我在AWS设备农场上运行Appiumnode.js测试。我想在设备农场中显示粒度测试结果,但是我总是得到一个包含所有测试的“测试套件”结果。因此,如果一个小测试失败,整个测试套件就会失败。我在设备农场文档中读到,在标准环境中会显示更细粒度的结果,但我不确定如何切换或使用标准环境。我认为它与YAML文件有关,因为在设备场用户界面上不再提供在标准或自定义环境之间进行选择的可能性。 这是我当前的YAML

  • 我正在评估运行移动web测试的AWS设备场。以下是我预期的步骤: 创建样本测试(Java) 打包为zip文件 通过AWS设备场控制台,仅上传测试zip 手动选择配置和其他东西 手动执行测试并评估结果 我需要帮助的事情是: a)如果测试需要一些更改,我是否需要在每次运行中完成JAR包的创建?我可以从我的IDE运行测试,如果一切正常,然后只打包并上传到AWS设备场? b) 我注意到他们有API来模拟步

  • 我使用的是Appium Version1.9.1和基于Appium Java TestNG的框架构建,但是当我在真实设备上的AWS设备场上执行I时,我会得到以下错误: WebDriverException:处理命令时发生未知的服务器端错误。原始错误:未处理的endpoint:/session/bc6e4901-43a6-4c66-913a-ebaf8482dd4b/wda/screen-http:

  • 我使用Appium和WebdriverIO为React本机应用程序创建了测试,它在android模拟器和真实设备上本地运行良好,但在AWS设备场上不起作用。本教程https://medium.com/jetclosing-engineering/react-native-device-testing-w-appium-node-and-aws-device-farm-295081129790我随后