自动化测试的运行貌似离不开jenkins,好吧,其实我觉得真心没有必要那么依赖,但是现实如此,我们就庸俗一下吧,这次我们就看看如何整合
1、脚本搞定没有问题
2、testng、reportng搞定没问题,不要问我怎么弄
3、ant搞定(https://ant.apache.org/bindownload.cgi),并配置好环境变量,自行去google
4、jenkins去官网下载windows版本(https://jenkins.io/download/),一路next即可安装
接下来,我们说一下整合运行的逻辑:jenkins>ant(build.xml)>脚本,其中的核心就是build.xml的编写
build.xml内容如下,里面的路径需要根据实际情况编写
<?xml version="1.0" encoding="UTF-8"?> <project name="Demo" default="run" basedir="."> <echo message="import lib" /> <path id="run.classpath"> <fileset dir="${basedir}/lib"> <include name="**/*.jar" /> </fileset> </path> <taskdef name="testng" classname="org.testng.TestNGAntTask" classpathref="run.classpath" /> <target name="clean"> <delete dir="build"/> </target> <target name="compile" depends="clean"> <echo message="mkdir"/> <mkdir dir="${basedir}/src/com/xiaoqiang/po/build/classes"/> <javac srcdir="src" destdir="${basedir}/src/com/xiaoqiang/po/build/classes" debug="on" encoding="UTF-8" includeantruntime="false"> <classpath refid="run.classpath"/> </javac> </target> <path id="runpath"> <path refid="run.classpath"/> <pathelement location="${basedir}/src/com/xiaoqiang/po/build/classes"/> </path> <target name="run" depends="compile"> <echo message="Compile dir is: ${basedir}" /> <testng classpathref="runpath" outputDir="test-output" haltOnfailure = "true" useDefaultListeners = "false" listeners="org.uncommons.reportng.HTMLReporter,org.testng.reporters.FailedReporter" > <xmlfileset dir="${basedir}/src/com/xiaoqiang/po" includes="testng_all.xml"/> <jvmarg value="-ea" /> <sysproperty key="org.uncommons.reportng.title" value="appium by java 小强测试品牌"/> </testng> </target> </project>
5、启动jenkins服务,浏览器访问http://localhost:8080稍等一会就可以看到页面(如果是最新版的jenkins需要有一个安装过程,都是简单的英文,不难,不会的童鞋自行google)
6、系统管理>插件管理,安装AntPlugin 插件、TestNG Results Plugin 插件、HTML Publisher plugin 插件(需要×××安装,否则失败率较高)
7、系统管理->脚本命令行,输入如下命令,并运行(修改策略,可以让外部的js、css等运行显示,避免白页的出现):
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox; default-src 'self';")
8、新建一个自由风格的job
9、运行查看报告