已经实现 appium+unittest,不同设备同时执行不同的 case,现在想将框架升级为 appium+pytest,在网上找到过很多教程,基本都是多个设备运行同一个 case,在这个的基础上修改了不同设备运行不同 case,然后就 GG 了。后起的设备总是把第一台给挤掉。起设备的时候分别设置了不同的端口(port、bport、chrome_port、sys_port)等
Android systemPort,iOS wdaLocalPort 需要不同
我目前也是出现和你一样的情况,多台设备运行同一个文档的多条测试用例老是报错。添加了 systemPort 和 Appium server 指定机器也不能运行
这个都有加的
自己封装个 log 方法,我这边是按照 设备 deviceID 进行区分 log 存放
有什么好的方法解决吗
需要有一个调度机制。我们这边用例都托管在测试平台,由测试平台下发,从而实现不同机器执行相同的用例或者不同的用例 像你目前的情况,可以在本地实现类似逻辑,执行过的用例可以在 sqlite 中标记下状态,开始执行某一条用例时,检查下这个状态
问题不在于不同设备执行不同 case,而是在于如何用 pytest 来同时调起多个设备而互相之间不冲突
你这个问题就涉及到手机管理平台了,开源的可以参考 STF,不能把手机接到电脑上不做管理吧?有一定的手机管理和调度方案后,就解决一下每个用例执行的时候对应一个 Appium 实例,从而实现 Appium 实例 + 手机设备 + 测试用例一一对应的执行关系。然后 pytest 框架就可以处理执行结果,生成报告的操作了。
能分享下 appium+unittest 不同设备同时执行不同的 case 的代码嘛