3

我想以编程方式设置 Appium Flag --no-reset。


当我们不想在会话之间重置应用程序状态时使用此标志(IOS:不要删除应用程序 plist 文件;Android:不要在新会话之前卸载应用程序)。它的默认值为 False,我想让它成为真的,因为我已经通过在我的本地环境中设置 --no-reset=true 来编写我的测试脚本。


为什么我想这样做

我正在使用 AWS-Device Farm(它在使用云服务的多个真实设备上运行测试用例)来测试我的 Android 应用程序,我无法控制在 AWS 上运行的 Appium 服务器,默认情况下它的 --no-reset 标志是假的,因此它在每次运行期间重置我的应用程序,这导致测试用例失败。


来自 AWS-Device Farm 的日志

Starting testBBB
Pre-launching app
Starting android appium
Java version is: 1.7.0_75
Retrieving device
Found device 06db10920b305807
Device API level is: 21
App is already installed, resetting app
Starting App

注意:- 我正在使用 Appium V1.4.6、Intellij Idea (Java)、Junit Framework。请帮助并提出一些解决方案。感谢您。

4

2 回答 2

1

您不能将 --no-reset 与 AWS Device Farm 云一起使用。实际上,根据 AWS devicefarm 设计,aws clod 的所有设备都是动态分配的,并在每次测试运行时重置所有内容(即应用程序+数据+设置)。

因此,每次您获得一台设备时,它就像是一台具有所有默认设置的全新设备。

于 2015-10-20T18:14:02.727 回答
0

noReset在连接到 Appium 服务器时,您应该能够使用所需的功能配置此功能。

根据 Appium 文档(在此处找到):

noReset Don’t reset app state before this session. Default false true, false

于 2015-08-27T18:19:55.030 回答