Appium 如何使用 appium+pytest 进行多机并行执行不同 case 文件

Soner · November 17, 2020 · Last by Time replied at May 10, 2021 · 2492 hits

已经实现 appium+unittest,不同设备同时执行不同的 case,现在想将框架升级为 appium+pytest,在网上找到过很多教程,基本都是多个设备运行同一个 case,在这个的基础上修改了不同设备运行不同 case,然后就 GG 了。后起的设备总是把第一台给挤掉。起设备的时候分别设置了不同的端口(port、bport、chrome_port、sys_port)等

共收到 9 条回复 时间 点赞

Android systemPort,iOS wdaLocalPort 需要不同

我目前也是出现和你一样的情况,多台设备运行同一个文档的多条测试用例老是报错。添加了 systemPort 和 Appium server 指定机器也不能运行

YueChen 回复

这个都有加的

自己封装个 log 方法,我这边是按照 设备 deviceID 进行区分 log 存放

Ekre1c 回复

有什么好的方法解决吗

需要有一个调度机制。我们这边用例都托管在测试平台,由测试平台下发,从而实现不同机器执行相同的用例或者不同的用例
像你目前的情况,可以在本地实现类似逻辑,执行过的用例可以在 sqlite 中标记下状态,开始执行某一条用例时,检查下这个状态

joko 回复

问题不在于不同设备执行不同 case,而是在于如何用 pytest 来同时调起多个设备而互相之间不冲突

你这个问题就涉及到手机管理平台了,开源的可以参考 STF,不能把手机接到电脑上不做管理吧?有一定的手机管理和调度方案后,就解决一下每个用例执行的时候对应一个 Appium 实例,从而实现 Appium 实例 + 手机设备 + 测试用例一一对应的执行关系。然后 pytest 框架就可以处理执行结果,生成报告的操作了。

能分享下 appium+unittest 不同设备同时执行不同的 case 的代码嘛

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