jenkins+appium实现脚本自动运行功能

最近一直再研究jenkins的自动化集成测试,设计思路:

  1. 构建app前做代码静态检测
  2. 检测成功后,自动构建app
  3. 通过脚本将服务端的app自动推送到个人主机指定目录
  4. 通过jenkins自动启动appium服务,终端机自动安装指定目录的app,并运行testNG的相关脚本
  5. 触发邮件,报告发送

好了,接下来看看具体是怎么操作的吧!

第一:先看下jenkins的项目配置

jenkins+appium实现脚本自动运行功能
jenkins+appium实现脚本自动运行功能

第二:远程app推送至本地指定目录

  1. 将远程服务端的apk文件夹共享
  2. 将共享的apk目录映射为本地的某个网络盘符X
  3. 通过脚本将X盘符下的文件拷贝到指定目录
  # Filename: CopyPictures.py
# coding=utf8
import os
import time,shutil
from os import listdir
from os.path import isdir
HOST = '192.168.1.82'
PORT = 8080
source_dir = 'X:\\'
target_dir = 'E:\\DONG\\appium-testng\\apps'
now = time.strftime('%Y%m%d')
k=0
filelist = listdir(source_dir) #获取源目录下所有的文件
print(filelist)

for name in filelist :
srcFilename = source_dir + '\\' + name
srcFilename = '"' + srcFilename + '"'
desFilename = target_dir + '\\' + name
desFilename = '"' + desFilename + '"'
print
copy_command = "copy %s %s" % (srcFilename, desFilename)
print copy_command
if os.system(copy_command) == 0:
k = k + 1
print 'Successful backup to copy from', srcFilename, 'to' ,desFilename
else:
print 'Fail to copy', srcFilename, 'to', desFilename
print 'total copy', k, 'files'

第三:重点讲解下如何在DOS下运行testNG的脚本集

  1. 进入eclipse的工作目录,将bin下所有的.class文件以及testng.xml压缩为.zip包(注意:不包含bin文件夹)
  2. 然后将.zip包的后缀名改成.jar包
  3. 新建一A目录,拷入.jar包和testng.xml
  4. 将A目录配置为classpath的环境变量
  5. 导出eclipse中的程序包,否则运行testng.xml时会提示找不到程序包。(eclipse工作根目录–>Export–>Java–>Runnable JAR file–> launch configuration–>Copy required libraries into a sub-folder next to the generated JAR)——–注意:launch configuration的文件必须含main函数,且格式必须为public static void main(String []args);另外需注意导出路径一定要为A目录,导出成功后会在A目录自动创建一lib文件夹,比如qshc_lib,qshc.jar

第四:bat脚本编写

@echo off
@start appium -a 127.0.0.1 -p4723 -U32308bd2a27c7fb3
ping /n 3 127.1 >nul
set LIB=C:\automation
set CLASSPATH=%LIB%\auto.jar;%LIB%\qshc.jar
java org.testng.TestNG %LIB%\testng.xml

第五:就可以执行jenkins的构建了,app构建成功后,会自动执行CMD脚本,启动appium服务,执行testNG的用例集

抛出一问题:jenkins邮件触发功能,我目前只能用系统自带的邮件功能,而扩展邮件的插件配置后总是没起作用,尤其是developer角色的邮件发送,请指导的人告知下,我先截个我配置的图给大伙看看
jenkins+appium实现脚本自动运行功能
jenkins+appium实现脚本自动运行功能
jenkins+appium实现脚本自动运行功能
jenkins+appium实现脚本自动运行功能

,


26 个赞
举报

* 注:本文来自网络投稿,不代表本站立场,如若侵犯版权,请及时知会删除