jenkins + maven +testng 进行自动化

最近接手了一个项目的测试,在这个项目(MAVEN项目)的test目录下写了2个testNg的冒烟测试用例,想着能够在jenkins每次构建发布后能自动运行测试用例,就捣鼓了下

一、编写testNg测试用例,并创建test.xml用例启动执行文件,配置pom文件

1、testNg用例,这是一个冒烟测试用例,只是用来检查接口是否有返回结果

    @Test
    public void secretConfig() throws Exception{

        String commonUrl = "http://config.dooioo.net/testsecret-secret-mingan-config/test/testsecret";
        try{
            result = template.getForObject(commonUrl,JSONObject.class);

        }catch(Exception e){
            System.out.println("敏感信息配置文件获取失败");
            e.printStackTrace();
        }

        JSONArray propertySources = result.getJSONArray("propertySources");//获取文件内容
        Assert.assertNotEquals(propertySources.size(),0,"未找到文件");//判断获取的文件数量与0是否不等,并打印信息
        logger.info("正确返回敏感信息配置文件,文件数量为:" +propertySources.size() );
    }

2、创建test.xml用例启动执行文件

<suite name="somke">
    <test verbose="1" name="smoke" >
        <classes>
            <class name="com.lianjia.configserver.SmokeTest"/>
        </classes>
    </test>
</suite>

3、配置pom
加入testng依赖

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.11</version>
            <scope>test</scope>
        </dependency>

加入maven-surefire-plugin插件用来使用maven执行用例,其中suiteXmlFile配置的是你用例执行文件的地址

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>src/test/resources/test.xml</suiteXmlFile>
                    </suiteXmlFiles>
                </configuration>
                <version>2.4</version>
            </plugin>

二、配置jekins

一般有2种情况(我是下面第二种):
1、被测系统与测试代码在一个工程下,则只需要构建完成后配置执行测试用例即可
因为要达到在项目构建后对构建后的项目执行用例,所以用例执行需要放在程序部署完成之后。jenkins的具体的任务创建可参考使用Jenkins进行持续集成
前面构建的时候配置的是跳过测试用例

maven配置

所以我们在部署完成后在后面在添加一个构建步骤,执行mvn test命令

执行测试用例

2、被测系统与测试代码不在一个工程下,那么测试代码在的项目可以配置一下触发器
选择第一项Build after other projects are built ,在其他项目构建完后触发构建,填写你的被测系统项目

触发器配置

然后在构建步骤中加入执行测试

执行测试

整个效果就是被测项目构建完后,测试代码项目自动构建并执行测试用例

三、收集报告

在构建后操作中增加testNG报告收集插件

testNG插件.png

下面的路径默认即可


image.png

如果jenkins中没有此插件,可在jenkins首页系统管理-管理插件-可选插件中搜索并安装,装完后记得重启

插件安装

四、一切准备就绪让我们玩起来!

点击立即构建,可以看到整个构建过程(以下只截取了后面的)

[step08]启动项目...
当前进程ID:22594 
部署成功!
[00_configcenter-自动化] $ mvn test
[INFO] Scanning for projects...
[INFO] 
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Building configcenter-server 1.1.0
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] **--- maven-resources-plugin:2.6:resources (default-resources) @ configcenter-server ---**
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] Copying 5 resources
[INFO] 
[INFO] **--- maven-compiler-plugin:3.1:compile (default-compile) @ configcenter-server ---**
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] **--- maven-resources-plugin:2.6:testResources (default-testResources) @ configcenter-server ---**[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] 
[INFO] **--- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ configcenter-server ---**
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] **--- maven-surefire-plugin:2.4:test (default-test) @ configcenter-server ---**
[INFO] Surefire report directory: /root/jenkins/workspace/00_configcenter-自动化/target/surefire-reports
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
[TestNGContentHandler] [WARN] It is strongly recommended to add "<!DOCTYPE suite SYSTEM "[http://testng.org/testng-1.0.dtd](http://testng.org/testng-1.0.dtd)" >" at the top of your file, otherwise TestNG may fail or not work as expected.
正确返回配置文件,文件数量为:2
2017-07-13 15:11:25 [main] INFO com.lianjia.configserver.SmokeTest - 正确返回普通配置文件,文件数量为:2正确返回配置文件,文件数量为:1
2017-07-13 15:11:25 [main] INFO com.lianjia.configserver.SmokeTest - 正确返回敏感信息配置文件,文件数量为:1
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, 
Time elapsed: 22.058 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.395 s
[INFO] Finished at: 2017-07-13T15:11:26+08:00
[INFO] Final Memory: 16M/169M
[INFO] ------------------------------------------------------------------------
TestNG Reports Processing: START
Looking for TestNG results report in workspace using pattern: **/testng-results.xml
Saving reports...
Processing '/root/jenkins/jenkins_home/jobs/00_configcenter-自动化/builds/9/testng/testng-results.xml'
TestNG Reports Processing: FINISH
Finished: SUCCESS

可以在项目首页查看结果,还可以在jenkins中加入邮件插件,将结果邮件通知给自己

执行结果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,636评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,890评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,680评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,766评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,665评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,045评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,515评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,182评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,334评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,274评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,319评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,002评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,599评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,675评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,917评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,309评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,885评论 2 341

推荐阅读更多精彩内容