1

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

但是,对于 AWS Device Farm 环境中的每个测试方法,都会执行 setUpClass/tearDownClass 方法。我尝试将 webdriver 创建为类变量在 AWS Device Farm 中不起作用(尽管在本地工作)。

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

4

1 回答 1

0

我在 AWS Device Farm 团队工作。您对每次测试之前和之后运行的测试中的设置和拆卸类的观察是正确的。

设备场中的每个测试都针对 appium 服务器/会话的新实例运行。这有助于我们向用户提供更精细的报告和测试工件。

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

实现您正在寻找的一种方法而不是最佳方法是让所有测试方法按照您喜欢的顺序在中央测试用例中调用。这样您就可以在该测试用例中登录并执行其他操作。缺点显然是,如果其中任何一个测试失败,它将报告主测试失败,并且您必须编写测试,以便在日志中清楚地看到测试的哪一部分失败。

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

我们始终乐于接受反馈,我已将此记录为功能请求。希望这可以帮助。

于 2016-12-20T19:01:46.570 回答