Appium 关于 Appium 中 ios 自动化测试的几个问题,请教下大神,谢谢

yee · November 20, 2020 · Last by yee replied at November 26, 2020 · 649 hits

1.因为我们项目组用jenkins运行case时,会经常重启session,有时会出现wda启动失败的情况,有没有办法不要每次进行测试的时候都重装wda?论坛就一个帖子说xcode连这就不用每次重装了,但是貌似我连着xcode,启动case时,appium会强制断开我xcode的链接,不知道有什么需要配置或别的方法?
2.长时间运行用例时,有一定概率appium服务会断开链接,错误如下,我看论坛说安卓是可以设置后台通过电量管理配置解决,但是ios有办法解决嘛?

Message: An unknown server-side error occurred while processing the command. Original error: Could not proxy command to remote server. Original error: Error: socket hang up
共收到 9 条回复 时间 点赞

xcodebuild

yee #4 · November 24, 2020 作者
ltyd5788 回复

尝试了下貌似还是不行,在cdesire_caps增加了webDriverAgentUrl,但是运行后原先连的xcode就crash了。

Restarting after unexpected exit or crash in UITestingUITests/testRunner; summary will include totals from previous launches.

Test Suite 'Selected tests' started at 2020-11-24 14:57:18.335
Test Suite 'WebDriverAgentRunner.xctest' started at 2020-11-24 14:57:18.338
Test Suite 'WebDriverAgentRunner.xctest' failed at 2020-11-24 14:57:18.339.
Executed 1 test, with 1 failure (0 unexpected) in 0.000 (0.001) seconds
Test Suite 'WebDriverAgentLib.framework' started at 2020-11-24 14:57:18.341
Test Suite 'WebDriverAgentLib.framework' passed at 2020-11-24 14:57:18.342.
Executed 0 tests, with 0 failures (0 unexpected) in 0.000 (0.001) seconds
Test Suite 'Selected tests' failed at 2020-11-24 14:57:18.344.
Executed 1 test, with 1 failure (0 unexpected) in 0.000 (0.010) seconds


Test session log:
/var/folders/fg/6dxmk55x3qqdyt75c_h4xl7r0000gn/T/com.apple.dt.XCTest/IDETestRunSession-002DB694-94E7-4917-BDDB-162D8A71714A/WebDriverAgentRunner-2A33550B-18DF-4157-B56D-6A6E5652E0CF/Session-WebDriverAgentRunner-2020-11-24_145654-BsOKVu.log
yee #5 · November 24, 2020 作者
ltyd5788 回复

但是这个参数貌似是起作用的,我关闭wda,然后参数带上url,会启动失败

绑定下WDA的路径确保是相同的WDA,derivedDataPath 、usePrebuiltWDA 在试试这俩参数的使用

yee #7 · November 24, 2020 作者
ltyd5788 回复

我应该确保绑定的wda就是我启动test的wda,因为我每次启动测试用例,原先test状态的wda都会crash,上面2个参数也尝试了,一样的报错,感觉是我启动了wda,然后我启动appium的时候也启动了同一个工程的wda造成了冲突,从而crash了,有没有办法让我启动session的时候不启动wda估计就成功了。

yee #8 · November 24, 2020 作者
ltyd5788 回复

知道原因了,我加了一个参数 "useNewWDA": True,注释掉就行了😓 ,感谢提供思路。。

yee #9 · November 26, 2020 作者

总结一下,ios测试时不重新安装wda的方法
1.xcode中连接wda
2.启动capbility中配置usePrebuiltWDA,webDriverAgentUrl及derivedDataPath
3.不能配置useNewWDA
4.如果配置localhost,尝试使用http://localhost:8100/statusiproxy,看看有没有返回,如果没有手动启动 8100 8100开启代理

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up