maven+selenium+jenkins+git实现自动化持续集成

以前项目中编写的selenium自动化测试代码没有使用Jenkins持续集成,在项目中造成各种不便,因此决定花点时间学习使用Jenkins以解决实际中的种种不便,途中踩了很多坑,于是把过程和踩过的坑一一记录下来。

一 代码部分

1.在idea中新建maven项目autoTest

2.在pom.xml中添加依赖
①selenium依赖(我使用的是2.44版本,selenium版本、driver版本、浏览器版本这三个版本需要对应,对应关系网上有很多,自行搜索)



    org.seleniumhq.selenium

    selenium-java    

    2.44.0 


②testng依赖



    org.testng 

    testng 

    6.14.3   


③maven打包插件
suiteXmlFile是需要运行的testsuite的xml文件所在位置,一定记得修改


        compile
        src
        
            
                src
                
                    **/*.java
                
            
        
        
            
                maven-compiler-plugin
                3.0
                
                    1.7
                    1.7
                
            

            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    UTF-8
                
            
            
                org.apache.maven.plugins
                maven-surefire-plugin
                2.12.4
                
                    
                        src/test/logintest.xml
                        
                    
                
            
        
    

④新建testsuite的xml文件,一定记得在pom.xml中修改 路径
修改为测试类的相对路径(copy reference)


      
        
            
        
     

3.在/src/test/java下新建测试类TestLogin
①测试类一定要放在/src/test/java下,否则maven打包运行时找不到测试类 ②测试类需以Test开头,否则maven打包运行时找不到测试类

4.将浏览器设置为无界面模式

//设置浏览器驱动的路径
System.setProperty("webdriver.chrome.driver","/home/jenkins/chromedriver/chromedriver");
ChromeOptions options=new ChromeOptions();
//设置无界面模式
options.addArguments("--headless");
//为了运行顺畅,添加以下浏览器配置
options.addArguments("--disable-gpu");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("blink-settings=imagesEnabled=false");
options.addArguments("--disable-setuid-sandbox");
driver=new ChromeDriver(options);

5.代码编写完成后,使用maven打包,测试能否正确打包,打包时会运行测试用例

6.完成后将代码提交到git

二 linux配置

1.安装Chrome浏览器
①下载Chrome for Linux(https://www.chromedownloads.net/chrome64linux/),我安装的版本是Google Chrome 71.0.3578.98,先安装的版本是70,但是与Chromedriver不兼容
②解压下载的压缩文件
③上传Linux,运行命令安装:rpm -ivh 安装包名称
执行安装命令后,可能会报错,因为Linux缺少一些插件,使用yum install 插件名称安装插件,所有插件安装完成后谷歌浏览器就能顺利安装了
④安装成功后查看Chrome的版本,执行命令:google-chrome --version

2.下载Chromedriver
①.下载Chromedriver for Linux(https://npm.taobao.org/mirrors/chromedriver?spm=a2c6h.14029880.0.0.735975d7P8udIF),我安装的版本是Chromedriver2.44。再次提醒selenium版本、Chrome版本、Chromedriver版本三者一定要对应
②将测试代码中的Chromedriver的路径替换成Linux上Chromedriver的路径

三 Jenkins配置

1.安装Jenkins,这里不详细介绍了,网上很多教程

2.打开Jenkins网页

3.打开Jenkins的全局配置页面,配置maven,maven_home是Jenkins服务器上的maven路径


image.png

4.新增Jenkins任务


image.png

5.配置Jenkins任务
①进入Jenkins任务,点击配置


image.png

②源码管理选择git,输入git仓库地址、添加并选择git用户、输入分支


image.png

③选择构建步骤
image.png

④选择maven版本,输入maven命令
image.png

⑤保存配置

6.开始构建


image.png

7.查看控制台输出,如果成功,日志和下图类似


image.png

四 总结

以上就是我的Jenkins持续集成的过程,踩过的坑和注意事项也都重点标记出来了,大家也要注意哦!
补充:我用xshell连接的服务器,在Jenkins构建时,xshell老是会弹出弹窗


image.png

解决办法:1.把xshell远程连接关掉 2.在创建连接时,关闭X11转发选项

你可能感兴趣的:(maven+selenium+jenkins+git实现自动化持续集成)