如何在aws设备场中为android espresso每次测试运行后清除设备数据
Posted
技术标签:
【中文标题】如何在aws设备场中为android espresso每次测试运行后清除设备数据【英文标题】:how to clear device's data after each test run for android espresso in aws device farm 【发布时间】:2016-10-03 22:12:12 【问题描述】:我们使用aws device farm
运行我们所有的android espresso 测试。在每个测试中,用户应该登录到应用程序,但我想在测试完成后清除所有设备的数据(登录信息),因为登录凭据被保存在设备中,这会影响我们其他测试的流程。我们所有的测试都是独立的,应该并行运行。在我看来,device farm
在每次运行后都不会清除以前的数据。
谁能告诉我如何在每次测试运行后删除设备的数据?非常感谢您的帮助。
【问题讨论】:
您想在测试之间重置什么(数据库、文件、首选项)?在***.com/questions/37597080/… 可以找到在每个测试之间重置首选项的示例 【参考方案1】:Device Farm 会在每次测试运行后卸载您的包,这也应该清理您的包的数据。 Device Farm 还会清理本地/外部存储。
Device Farm 不会在测试用例之间的测试运行期间清理数据。 Device Farm 将在所有选定的设备上运行相同的测试,而不是拆分测试用例并在不同的设备上运行不同的部分。
您的软件包之外的某个地方是否有一些系统范围的数据存储?
【讨论】:
如何确保我的 testA 应该先运行然后 testB、testC?可以以某种方式安排我的测试吗? 目前 Device Farm 不支持测试用例顺序。一种可能的缓解方法是将序列包装在测试用例中。 您能详细说明一下吗?我们如何在测试用例中包装一个序列? 你可以像这样定义一个测试用例:@Test public void testSequence() testA;测试B;测试C; 这肯定不是一个完美的解决方案...以上是关于如何在aws设备场中为android espresso每次测试运行后清除设备数据的主要内容,如果未能解决你的问题,请参考以下文章
无法使用Java TestNG项目解决AWS设备场中的依赖项 - jar错误
在 aws devicefarm 中为一组特定的 android 手机创建设备池