UI层自动化测试框架(六):持续集成和测试报告

前面几章讲解了测试框架的结构和实现,接下来讲解如何实现测试框架的自动化和测试报告的生成。

持续集成

本框架我是采用Jenkins实现持续集成的,至于Jenkins环境的搭建和使用,我前面的blog有提到,如果大家不清楚的可以先去阅读我之前写的这篇文章,Jenkins安装和构建部署

  • 运行jenkins,首先创建一个job为appiumTurbo

    这里写图片描述

  • 源码管理
    将代码上传到github上进行托管,然后在jenkins上配置clone 到你本地或者远程的jenkins来:
    这里写图片描述

  • 构建触发器
    Poll SCM: 定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。Build periodically:周期进行项目构建(它不care源码是否发生变化),我的配置如下:
    每天凌晨2:00进行一次构建

这里写图片描述

  • 构建

    这里写图片描述

  • 构建后操作
    发送邮件


测试报告

每次构建完成后都会生成一个测试报告,由于testng自带生成测试报告,但是这个报告比较丑陋,下面开始用ReportNG来生成漂亮简洁的测试报告。

  • 在maven项目中添加依赖,在pom.xml文件中添加以下依赖关系:
    <!-- 依赖reportNg 关联testNg -->
    <dependency>
        <groupId>org.uncommons</groupId>
        <artifactId>reportng</artifactId>
        <version>1.1.4</version>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

        <!-- 依赖Guice -->
        <dependency>
            <groupId>com.google.inject</groupId>
            <artifactId>guice</artifactId>
            <version>3.0</version>
            <scope>test</scope>
        </dependency>
  • 配置maven-surefire-plugin并加入reportNG listenser
    <build>
        <plugins>
            <!-- 添加插件,关联testNg.xml,添加ReportNg的监听器,修改最后的TestNg的报告 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>

                    <suiteXmlFiles>
                        <!-- <suiteXmlFile>res/${xmlFileName}</suiteXmlFile> -->
                        <suiteXmlFile>testng.xml</suiteXmlFile>
                    </suiteXmlFiles>

                    <properties>
                        <property>
                            <name>usedefaultlisteners</name>
                            <value>false</value>
                        </property>
                        <property>
                            <name>listener</name>
                            <value>org.uncommons.reportng.HTMLReporter,
                                org.uncommons.reportng.JUnitXMLReporter</value>
                        </property>
                    </properties>

                    <workingDirectory>target/</workingDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>
  • 最后构建完成后,在target目录下创建了一个surefire-reports目录,打开它下面的html文件夹,打开indel.xml,就可以看到相对美观的报告形式了,类似如图:

这里写图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值