加速 Amazon Device Farm Appium Python 测试

Posted

技术标签:

【中文标题】加速 Amazon Device Farm Appium Python 测试【英文标题】:Speed up Amazon Device Farm Appium Python Tests 【发布时间】:2018-07-05 11:06:29 【问题描述】:

设置一系列测试我决定使用 Appium Python,因为我看到它在 AWS Device Farm 和 Microsoft App Center 中都有支持。

我正在 AWS 上运行一个设备测试,我发现每个单元测试都需要 1:30 分钟才能完成。因为我有 26 次测试,每台设备每次测试运行 40 分钟以上。

作为比较,我可以在大约 9 分钟内在本地(i7、16GB)运行相同的测试,我认为这是可以接受的。

起初,我认为 AWS 忽略了我想要的功能并在每次测试中安装 APK,但是在日志中我看到对 Appium 服务器的请求一直在等待。

2018-01-26 03:13:29:605 - [HTTP] <-- GET /wd/hub/status 200 40 ms - 83 
2018-01-26 03:14:05:721 - [HTTP] <-- POST /wd/hub/session 200 35503 ms - 1418 
2018-01-26 03:14:05:845 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/timeouts/implicit_wait 200 59 ms - 76 
2018-01-26 03:14:18:612 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/appium/app/launch 200 12763 ms - 76 
2018-01-26 03:14:22:786 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/element 200 4162 ms - 87 
2018-01-26 03:14:23:352 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/element/1/click 200 560 ms - 76 
2018-01-26 03:14:24:006 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/element 200 650 ms - 87 
2018-01-26 03:14:24:264 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/element/2/click 200 234 ms - 76 
2018-01-26 03:14:25:205 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/element 200 924 ms - 87 
2018-01-26 03:14:25:329 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/element 200 119 ms - 87 
2018-01-26 03:14:25:444 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/element 200 111 ms - 87 
2018-01-26 03:14:35:523 - [HTTP] <-- GET /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/screenshot 200 10062 ms - 5261738 
2018-01-26 03:14:36:904 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/touch/perform 200 796 ms - 76 
2018-01-26 03:14:47:256 - [HTTP] <-- GET /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/screenshot 200 10319 ms - 5261770 
2018-01-26 03:14:49:199 - [HTTP] <-- POST /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5/appium/app/close 200 1139 ms - 76 
2018-01-26 03:14:52:874 - [HTTP] <-- DELETE /wd/hub/session/7243baaa-affd-4230-95cd-6f29a41ff6f5 200 3546 ms - 76 

在这里你可以看到:

35 秒创建会话 13 秒启动 每个屏幕截图 10 秒。 (总共 20 秒)

这是测试外任务中 90 秒中的 60 秒。

这是预期的表现吗?如果它有所作为,我正在使用三星 S8。

【问题讨论】:

@NikofTime 我可能见过你在 AWS 设备实验室工作。你能帮帮我吗? 【参考方案1】:

这是 Appium 本身的预期行为。但是,Device Farm 会为每个测试执行 Appium 设置和拆卸。这可能是长期测试的主要原因。

【讨论】:

以上是关于加速 Amazon Device Farm Appium Python 测试的主要内容,如果未能解决你的问题,请参考以下文章

Amazon Device Farm 上出现意外的 KIF 测试流程

无法在 iOS Appium 测试(AWS Device Farm)上切换到 WebView 上下文

为 AWS Device Farm 构建 XCTest UI 测试

将文件上传到 AWS Device Farm

AWS Device Farm - 使用 CLI 时上传失败

将 AWS Device Farm 与 JUnit 5 结合使用