微信小程序自动化多设备分布式运行方案

本文介绍了在小程序自动化测试中,通过Appium、Pytest和Allure框架,结合Jenkins实现多设备并行执行的方案。在面临Chromedriver导致的并行问题时,提出了基于Jenkins节点和矩阵JOB的终极解决方案,确保了不同设备的Chromedriver隔离,提高了执行效率。
摘要由CSDN通过智能技术生成

前言

  • 自动化框架:Appium + Pytest + Allure
  • 测试用例调度:Jenkins

背景

当小程序自动化用例数量达到一定级别的时候,执行效率是个问题,为了解决效率问题,需要一套可以在多台设备并行执行的方案。

Appium本身是支持多设备并行执行的(原生应用CASE没有问题),但是在遇到小程序自动化的时候,Chromedriver拖了后腿。

小程序自动化用例有一个特点,就是需要频繁切换上下文,因为在小程序页面中,会有微信原生组件使用,比如定位权限、日期组件等,要想操作这种页面元素,需要切回原生的上下文,操作完成还要再切回webview。这种频繁切换上下文的操作,在多台设备并行运行的时候,Chromedriver就会频繁报500错误,即使定义了不同的ChromedriverPort。具体现象可以参考 https://testerhome.com/topics/21644。

要解决并行运行的问题,就需要并行运行的时候,把Chromedriver做隔离。最初的方案想到了appium docker,在尝试的过程中,每个docker machine需要通过USB端口号绑定一台设备,但是设备每插拔一次,端口号就变掉了😭 ,反正我是放弃了。有可行方案的同学可以分享下。

终极解决方案——基于Jenkins的节点+矩阵JOB,实现小程序自动化用例并行执行。

操作

涉及Jenkins配置的一些细节,大家可以参考下思韩大神的极客教程&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值