Selenium Web 自动化 - 项目持续集成

2017-02-13

目录

1环境准备
  1.1 安装git
  1.2 安装jenkins
  1.3 安装jenkins插件
  1.4 jekins系统配置
2 新建Jenkins构建项目
3 执行构建
  3.1 乱码问题

项目持续集成测试,可以每天定时执行自动化构建项目(包括编译,发布,自动化测试),发送测试结果。

1 环境准备


返回

1.1 安装git

GIT下载地址:https://git-scm.com/

安装过程中“Adjust your PAHT environment”这一步选择“Use git and optional unix tools form the windows command prompt”会把相关的命令加入到系统path变量下,如下图所示。其它默认安装即可。

1.2 安装jenkins

Jenkins下载地址:https://jenkins.io

安装完成之后,打开jenkins主页(系统会自动打开网页),地址默认为:http://localhost:8080/

1.3 安装jenkins插件

系统管理->插件管理,安装以下插件:

  • git plugin:帮助集成管理git项目
  • email extention plugin:发送邮件扩展工具
  • maven integration plugin:执行maven命令的图形化交互性插件

安装成功后,如下图所示:

1.4 jekins系统配置

系统管理->系统配置

  1. 第1步:配置maven,MAVEN_HOME :本地安装目录
  2. 第2步:配置jdk
  3. 第3步:配置git
  4. 第4步:配置extended e-mail notification 和 邮件配置通知服务器
    password:腾讯要求第三方客户端使用要输入16位授权码所以需要在qq邮箱去开启这个16位授权码,可以在请求邮箱设置->账户 里设置
  5. 第5步:配置jekins Location

2 新建Jenkins构建项目


返回

  • 第1步:项目名称和描述
  • 第2步:资源管理配置
    这里用coding(https://coding.net)做项目托管,它是基于git的,国内服务器,比较稳定,速度也快。
  • 第3步:构建触发器 
    除了配置如何触发,还要配置下maven执行命令,如下代码所示。
    Jenkins构建顺序:jenkins项目构建的时候,会从autotest/pom.xml文件开始执行,pom.xml文件是所有测试的开头。pom.xml内容包含testng.xml地址,test命令会根据pom.xml最终执行testng.xml,而testng.xml包含要测试的用例。
  • 第4步:配置构建之后的操作 
    如下图所示,发送构建后会发送邮件
    此外,还需要配置下,什么时候触发发送邮件这个操作,我们点击“Advanced Settings…”,然后选择Always选项
            <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<!-- 解决用maven执行test时 日志乱码的问题,详见:http://www.cnblogs.com/discuss/archive/2010/10/27/1862225.html -->
<argLine>-Dfile.encoding=UTF-8</argLine>
<!-- 解决maven oom问题http://blog.csdn.net/e5945/article/details/7740904 -->
<argLine>-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=128m</argLine>
<forkMode>never</forkMode>
<suiteXmlFiles>
<suiteXmlFile>testng.xml</suiteXmlFile>
</suiteXmlFiles>
<!--定义maven运行测试生成的报表路径 -->
<reportsDirectory>./result/test-report</reportsDirectory>
</configuration>
</plugin>

3 执行构建


返回

回到jenkins主页之后,我们看到一个新建的项目显示出来,点击开始图标,就可以开始构建

3.1 乱码问题

点击项目链接,看到左下角build History,找到当前构建的版本,点击菜单栏“Console Output”,发现运行的时候输入的中文日志可能出现乱码。这是由于jenkins的编码问题导致,我们需要修改下jenkins的配置文件,设置字符编码为:UTF-8即可。

打开jenkins的安装目录,找到jenkins.xml文件,打开jenkins.xml文件,添加-Dfile.encoding=utf-8 到<arguments>标签中,如下面的代码所示:

<arguments>-Xrs -Xmx512m -Dfile.encoding=utf-8 -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>

重启下jekins

重启jenkins服务,有以下两种方法:

  • 打开运行,输入:“services.msc”,找到Jenkins服务,重启
  • 输入http://localhost:8080/restart

Selenium Web 自动化 - 项目持续集成的更多相关文章

  1. Selenium Web 自动化 - 项目持续集成(进阶)

    Selenium Web 自动化 - 项目持续集成(进阶) 2017-03-09 目录 1 背景及目标2 环境配置  2.1 SVN的安装及使用  2.2 新建Jenkins任务3 过程分析 1 背景 ...

  2. Selenium Web 自动化 - 项目实战环境准备

    Selenium Web 自动化 - 项目实战环境准备 2016-08-29 目录 1 部署TestNG  1.1 安装TestNG  1.2 添加TestNG类库2 部署Maven  2.1 mav ...

  3. Selenium Web 自动化 - 项目实战(三)

    Selenium Web 自动化 - 项目实战(三) 2016-08-10 目录 1 关键字驱动概述2 框架更改总览3 框架更改详解  3.1 解析新增页面目录  3.2 解析新增测试用例目录  3. ...

  4. Selenium Web 自动化 - 项目实战(二)

    Selenium Web 自动化 - 项目实战(二) 2016-08-08 什么是数据驱动?简答的理解就是测试数据决定了测试结果,这就是所谓数据驱动.数据驱动包含了数据,他就是测试数据,在自动化领域里 ...

  5. Selenium Web 自动化 - 项目实战(一)

    Selenium Web 自动化 - 测试框架(一) 2016-08-05 目录 1 框架结构雏形2 把Java项目转变成Maven项目3 加入TestNG配置文件4 Eclipse编码修改5 编写代 ...

  6. Selenium Web 自动化

    1 Selenium Web 自动化 - Selenium(Java)环境搭建 2 Selenium Web 自动化 - 如何找到元素 3 Selenium Web 自动化 - Selenium常用A ...

  7. Selenium Web 自动化 - Selenium(Java)环境搭建

    Selenium Web 自动化 - Selenium(Java)环境搭建 2016-07-29 1 下载JDK JDK下载地址:http://www.oracle.com/technetwork/j ...

  8. Jenkins +Maven+Tomcat+SVN +Apache项目持续集成构建

    详解Jenkins +Maven+Tomcat+SVN +Apache项目持续集成 一:前言 1. Jenkins jenkins版本大全http://mirrors.jenkins-ci.org/ ...

  9. RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)

    好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...

随机推荐

  1. 前端程序员应该知道的 15 个 jQuery 小技巧

    下面这些简单的小技巧能够帮助你玩转jQuery. 返回顶部按钮 预加载图像 检查图像是否加载 自动修复破坏的图像 悬停切换类 禁用输入字段 停止加载链接 切换淡入/幻灯片 简单的手风琴 让两个div高 ...

  2. sql server停止和重启命令

    http://www.ynpxrz.com/n822732c2024.aspx 我们知道:sql server重启分分两步走 1.停止 net stop mssqlserver 2.重启 net st ...

  3. nginx安装配置

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强 1. apache ...

  4. SQL递归查询知多少

    最近工作中遇到了一个问题,需要根据保存的流程数据,构建流程图.数据库中保持的流程数据是树形结构的,表结构及数据如下图: 仔细观察表结构,会发现其树形结构的特点: FFIRSTNODE:标记是否为根节点 ...

  5. 论SNAPSHOT包的危害性

    先介绍一下背景:我们应用是一个标准的spring+webx工程,博主在一次项目发布前为了再次测试一下自己的代码,将分支部署到日常环境中,但是项目启动的时候报错: 第一眼看到这个堆栈后有点懵逼 第一是上 ...

  6. Ninject之旅之十二:Ninject在Windows Form程序上的应用(附程序下载)

    摘要: 下面的几篇文章介绍如何使用Ninject创建不同类型的应用系统.包括: Windows Form应用系统 ASP.NET MVC应用系统 ASP.NET Web Form应用系统 尽管对于不同 ...

  7. c#入门系列——基础篇

    c#与VB的区别 刚接触c#发现c#与vb还是有所不同的--它可以在控制台显示.它比vb多出来了一些东西.代码规范上跟VB也稍有不同.....暂时就发现这么多,正在努力发现中. c#的代码结构     ...

  8. java udp (使用类调用双通信)1

    项目需要就使用了UDP通信,做了java的双方通信,其实代码还是来自之前的udp学习代码,自己加了注释,并且优化的使用类来封装关于通信类库的使用代码 目的是为了在安卓项目中使用时,可以通过实例化,调用 ...

  9. Microsoft.Identity的IPasswordHasher的默认实现与运用

    本文版权归博客园和作者吴双本人共同所有,转载和爬虫请注明原文地址  www.cnblogs.com/tdws 相信了解了MS Identity认证体系的一定知道UserManager的作用,他是整个体 ...

  10. IE浏览器和CSS盒模型

    网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin), CSS盒子模式都具备这些属性. 盒子模型是CSS中一个重要的概念,理解了盒子模型才 ...