前言:
最近需要搭建手机UI自动化脚本, 并在Jenkins上集成. 所以采用了Appium+Allure+Pytest+POM框架进行搭建. Jenkins上采用pipeline构建项目. 在编写Pipeline时, 遇到了启动appium服务的问题, 因为常规模式下, 启动appium后, pipeline会一直等待该步骤执行结束后才进行下一阶段步骤, 考虑过使用并行执行方法, 但allure报告路径这里又会无法找到. 最后找到一个简单的方法解决.
方法:
通常windows上执行是采用appium -g **** 类似这样的方式启动, 这样的启动方式会导致我前言里面说的问题. 这里改一下, 我们使用cmd单独进程启动
@start appium -g ******
重点在@这里, 这个解决了我们的难点.
1 stage('Appium Start'){ 2 steps{ 3 // 启动appium服务 4 echo "start appium" 5 bat "@start appium -g appium.log" 6 } 7 }
我这里只是举例一个简单的appium启动的参数例子, 实际会根据不同的情况, 自动填写上对应的参数.
linux上的执行方法没有研究, 这里主要是windows上的bat的执行方法.