自动化工具 Selenium 怎么能够做到将不同的测试用例,分发到不同的平台同时执行呢

冷月醉夕阳 · 2018年10月15日 · 最后由 一枚小菜鸡 回复于 2020年04月03日 · 2596 次阅读

目前只知道 selenium 有提供 grid,但主要是功能是多节点执行同一批测试用例,比如浏览器兼容性测试等,好像并不能解决同一批测试用例分发到不同的机器上面运行,然后收集报告, 只能做到同一批用例 copy 到其他节点上面运行(但这个主要是测试兼容性)

顺便补充一下,我项目环境用的是 python

或者是要借助多线程????

共收到 18 条回复 时间 点赞

利用 testng 的并发能力就可以了。 如下:

它会把不同的 case 分发到不同的浏览器上去

孙高飞 回复

非常感谢回复, 不过我是用 python unittest 写的,现在也好久没用 testng 了

python 的我就不太熟悉了

尝试下 celery 做分发

我是用的切片
把测试用例切成好几片,每个设备找自己的那片运行就行了

川流不息 回复

这个库还没怎么玩过,之前有了解过,一时半会还想不到好的方案

15楼 已删除
群主是狗 回复

这个思路跟我们之前做平台时,有点类似,但是这里还涉及到报告的问题,该怎么收集呢??

16楼 已删除

我用的 allure,pytest 的时候指定路径,就能在一个路径下展现所有的报告了

利用 jenkins 可以试试,大不了弄成几个脚本,同时运行

好像有个 ptest 支持并发的😂 没试过,哈哈哈哈

佳佳 回复

pytest 我觉得应该可以, 我有空去试下, unittest 应该也可以,但没那么方便

Lee 回复

蒽 ,这也是一种思路

群主是狗 回复

继续再请教下,pytest 可以指定路径,但 xdist 只能在一台机器上面并发,不能将 case 分发到多台机器上面吧,一个机器上面的话,跑 UI 的话,并发起来担心受干扰,稳定性可能没那么好

哦。。。我理解错了。。。。我目前是 pytest 在一个机器上跑的

群主是狗 回复

哦,并发跑 UI?

跑 Appium 脚本,8 台手机一共跑 500 个网址
每台手机跑自己单独的一部分网址

仅楼主可见
群主是狗 回复

我现在要用 pytest+selenium 来并发,能提供下你之前并发的思路吗

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册