Jenkins集成appium自动化测试(Windows篇)

发表于:2020-10-28 09:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:给你一页白纸    来源:博客园

  一,引入问题
  自动化测试脚本绝大部分用于回归测试,这就需要制定执行策略,如每天、代码更新后、项目上线前定时执行,才能达到最好的效果,这时就需要进行Jenkins集成。
  不像web UI自动化测试可以使用无痕浏览器做到无界面,APP UI自动化需要用到真机或模拟器,在完全的linux环境下做Jenkins集成显得不太可能。
  可以在自己的工作电脑上搭建Jenkins,并运行APP UI自动化测试项目,但工作电脑关闭后就不能定时运行自动化项目,且工作的电脑还要用来做别的工作,这样显得极其不方便。
  基于以上等原因,可以考虑向公司申请一台专门用于做自动化测试的本地电脑,搭建好本地电脑的测试环境,连接真机或模拟器;在公司的测试服务器上部署Jenkins,新建节点连接本地测试电脑,这样就可以利用Jenkins设置策略定时在本地测试电脑上构建测试项目。
  注意:之所以不直接在专门用于测试的电脑上直接搭建Jenkins,是因为可能除APP自动化项目外,还有web自动化、接口自动化或者其他集成项目,Jenkins搭建在远程服务器上方便对所有需要Jenkins构建的项目进行管理。
  本篇博客涉及的环境:远程Jenkins版本2.176.3,本地电脑 Windows 10
  二,搭建思路
  1,搭建Jenkins
  2,新建节点
  3,配置节点
  4,节点启动代理
  5,新建任务
  6,配置任务(获取最新代码、关联从节点等)
  7,调试构建
  三,具体步骤
  1,搭建Jenkins
  不多赘述,网上教程很多,大家自行查阅。也有很多公司的测试服务器已经搭建好Jenkins,直接使用即可。注意,本博客示例的Jenkins版本为2.176.3
  2,新建节点
  登录Jenkins --> Manage Jenkins --> Manage Nodes --> 新建节点,具体步骤如下:
  点击确定后,会跳转至节点配置页面。
  3,配置节点
  3.1,按下图中的说明进行配置,未进行说明的默认即可,再点击【保存】按钮。
  注意:
  远程工作目录,理论上可以填写本地测试电脑里的任意目录路径,但最好专门新建一个用于Jenkins工作的目录。
  我这里的Jenkins版本为2.176.3,启动方法中无 Launch agents Java Web Start 选项,网上查找资料后进入Manage Jenkins --> Configure Global Security 进行如下设置
  但启动方法中仍然没有展示"Launch agents Java Web Start"选项。但其实这里选择"Launch agent by connecting it to the master"也是可行的。
  3.2,点击保存后,跳转至Nodes页面,出现如下节点
  4,启动代理
  4.1,Nodes页面点击节点,跳转至如下页面:
  4.2,这里有两种方法启动节点,我选择第一种,点击【Launch】,提示下载slave-agent.jnlp文件,将该文件下载保存至方便后面查找的目录里。
  4.3,双击slave-agent.jnlp文件后点击运行,会出现如下图标
  这个时候,在Jenkins主页我们会看到节点已经连接成功。
  5,新建任务
  新建一个自由风格的任务,步骤如下:
  6,配置任务
  对上一步新建的任务进行配置,步骤如下。
  6.1,任务关联节点
  标签表达式里可以填写配置时填入的标签名,也可以直接填写节点名称。
  6.2,源码管理
  6.2.1,因为我的代码通过git管理,所以选择Git选项
  6.2.2,Repository URL,填入git中该测试项目的地址
  6.2.3,Credentials,填入git账号跟密码。填写方法,点击【添加】按钮进入添加页面,添加git账号密码后,再选中即可,具体如下:
  6.2.4,Branch Specifier (blank for 'any'),选择项目分支,可填写该项目需要运行的分支,没有其他分支的话,默认master即可
  6.3,构建触发器(非必选)
  可根据自己的需求来选择不同的项进行配置,也可不配置。如果需要定时构建运行项目,则勾选Build periodically,填入30 23 * * *,则表示每天晚上11点半开始运行项目,如下所示:
  6.4,构建
  点击【增加构建步骤】按钮,选择"Execute Windows batch command"
  输入构建命令,即执行自动化测试项目的命令
  注意,第一次配置构建命令时,可以随意配置,如:python run.py,保存配置后先进行第一次构建,第一次构建完成后,会在节点配置的远程工作目录里生成workspace文件夹,接下来会对第一次构建步骤具体介绍。
  6.5,进行第一次构建
  按照上面的步骤进行配置后,先点击【应用】再点击【保存】
  保存成功后,跳转至test任务页面,点击【Build Now】,进行第一次构建
  不用管第一次构建是否成功,构建完成后会在节点配置的远程工作目录里生成workspace、remoting两个文件夹,如下图
  并在workspace中会自动生成两个以任务名命名的文件夹,如下图的test、test@temp
  同时会从第6.2步中配置好的git仓库中下载项目代码保存在test文件夹中,如下:
  至此,第一次构建的目的达到了。但是我们需要根据项目中run文件的具体路径,再次配置任务里的构建命令,后续才能正确地构建运行测试项目,这里配置如下,再点击应用、保存。
  注意,执行python命令需要提前在本地测试电脑里配置好python。
  7,调试
  按照第6步配置任务完成后,先调试是否能跑通,调试成功后才可进行正式构建执行测试项目,进入任务主页面,点击【Build New】按钮。
  在构建历史中,还可选择点击某次构建进入控制台查看构建日志,如下:
  至此,就可以通过远程Jenkins在本地测试电脑上集成构建测试任务了。
  四,总结
  注意:
  配置节点时填写的远程工作目录,是本地测试电脑上的目录路径,即该Jenkins节点的工作目录。
  配置任务的源码管理时,根据实际需求,如果是git仓库就选择Git,如果是SVN就选择subversion
  进行第一次构建之前,由于还没有在远程工作目录里生成workspace并拉取代码,配置的构建命令并不需要真实的执行命令,如:python run.py
  第一次构建通常情况下会失败,但会生成remoting、workspace,并从远程代码仓库拉取代码存放在workspace中以节点名称命名的文件夹里
  第一次构建完成后,需要对任务重新配置正确的构建命令,如:python E:\autoTest\workspace\test\run.py

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号