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

Soner · November 17, 2020 · Last by 爱偷懒的QA replied at November 23, 2020 · 721 hits

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

共收到 9 条回复 时间 点赞

Android systemPort,iOS wdaLocalPort 需要不同

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

大佬们,多台设备运行的话log怎么写在一个文件下的?

YueChen 回复

这个都有加的

kaka 回复

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

Ekre1c 回复

有什么好的方法解决吗

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

joko 回复

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

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

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