jenkins maven testng selenium自动化持续集成
准备环境
首先我们新建一个maven的工程,并且在pom.xml中配置好我们依赖的一些jar包
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.46.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.6</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>2.46.0</version>
</dependency> </dependencies>
编写我们selenium脚本
public class NewTest {
    private WebDriver driver;
    @BeforeTest
    public void beforeTest(){
        driver = new FirefoxDriver();
        driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
        driver.manage().window().maximize();
        driver.get("http://www.baidu.com");
    }
    @AfterTest
    public void afterTest(){
        driver.quit();
    }
    @Test
    public void f()
    {
        System.out.println("heloo");
        By inputBox = By.id("kw");
        By searchButton = By.id("su");
        //智能等待元素加载出来
        intelligentWait(driver, 10, inputBox);
        //智能等待元素加载出来
        intelligentWait(driver, 10, searchButton);
        driver.findElement(inputBox).sendKeys("中国");
        driver.findElement(searchButton).click();
    }
    /**这是智能等待元素加载的方法*/
    public void intelligentWait(WebDriver driver,int timeOut, final By by) {
        try {
            (new WebDriverWait(driver, timeOut)).until(new ExpectedCondition<Boolean>() {
                public Boolean apply(WebDriver driver) {
                    WebElement element = driver.findElement(by);
                    return element.isDisplayed();
                }
            });
        } catch (TimeoutException e) {
        Assert.fail("超时L !! " + timeOut + " 秒之后还没找到元素 [" + by + "]", e);
        }
    }
}
再来还要配置下我们的testng.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Suite" parallel="false">
<test name="Test"> <classes>
<class name="com.saii.NewTest">
<methods>
<include name="f" />
</methods>
</class>
</classes>
</test>
</suite>
工程配置已经结束了,我们来进行jenkins的一些配置吧。进入jenkins的系统配置 
配置全局属性的键值对 
这个地方一定要配置,因为如果不配置成utf-8的话,jenkins从git上拉下来的文件编码格式不是utf-8的格式,这样子就会导致文件中的一些中文直接变成了乱码,到时候直接影响到脚本的运行 
进行maven的项目配置 
这里是配置maven的编码以及防止oom还有是maven的本地仓库以及maven的安装地址
新建一个projce后,在构建中新建一个构建步骤 invoke-top-level Maven targets 
这里只需要配置正确pom就可以了。
运行结果 
OK 运行成功!
jenkins maven testng selenium自动化持续集成的更多相关文章
- Jenkins+maven+git+sonar 系统持续集成&代码单測管理
		Jenkins+maven+git+sonar 系统持续集成&代码单測管理 Jenkins的安装 Jenkins是基于Java开发的一种持续集成工具,用于监控持续反复的工作.功能包含: 1.持 ... 
- Docker——Jenkins + Git + Registry构建自动化持续集成环境(CI/CD)
		前言 在互联网时代,对于每一家公司,软件开发和发布的重要性不言而喻,目前已经形成一套标准的流程,最重要的组成部分就是持续集成(CI)及持续部署.交付(CD). 本文基于Jenkins+Docker+G ... 
- Jenkins+Maven+SVN快速搭建持续集成环境
		http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/art ... 
- Jenkins+Maven+SVN快速搭建持续集成环境(转)
		Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ... 
- pytest、tox、Jenkins实现python接口自动化持续集成
		pytest介绍 pytest是一款强大的python测试工具,可以胜任各种级别的软件测试工作,可以自动查找测试用并执行,并且有丰富的基础库,可以大幅度提高用户编写测试用例的效率,具备可扩展性,用户自 ... 
- Jenkins+Ant+TestNG+Testlink自动化构建集成(完整版)
		这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬 ... 
- Jenkins+Ant+TestNG+Testlink自动化构建集成
		这段时间折腾自动化测试,之前都是在Eclipse工程里面手工执行自动化测试脚本,调用Testlink API执行测试用例,目前搭建Jenkins自动化构建测试的方式,实现持续构建,执行自动化测试. 硬 ... 
- Jenkins+Maven+Jmeter接口自动化持续集成测试
		在上一篇<利用xsltproc转换jtl报告到html报告>中,解决了html报告的问题.本篇主要还是利用Jenkins来做持续集成测试. Jenkins需要安装的插件 Maven Int ... 
- Jenkins学习总结(2)——Jenkins+Maven进行Java项目持续集成
		最近配置了Jenkins服务器,记录下基本过程.(当然还遇到了若干小问题,兵来将挡水来土掩就是了) Jenkins安装 安装Tomcat 从Jenkins官网下载jenkins.war文件.官网地址: ... 
随机推荐
- 原生js--类、原型、构造函数
			1.类和原型:原型对象是类的核心,类的所有实例都从同一个原型上继承属性和方法,原型对象是类的唯一标识 2.类和构造函数:构造函数通过new关键字来创建对象,构造函数的prototype属性被用作新对象 ... 
- oracle IMP-00085: 为无界导出文件指定了多个输入文件
			导入按表导出的数据的时候,提示为无界导出文件指定了多个输入文件 命令如下: imp user/user@database file=e:\test.dmp 提示信息: Import: Release ... 
- rc.sysinit 解析
			$# :它可抓出 positional parameter 的數量,即脚本后面的参数有几个 $@和$*表示全部参数,但不包含脚本名,即$0,如果在command line上跑 my.sh p1 “p2 ... 
- 如何分离p12(或pfx)文件中的证书和私钥
			p12(或者pfx)文件里一般存放有CA的根证书,用户证书和用户的私钥 假设我们有一个test.p12文件 在安装了openssl的linux服务器上执行以下命令: 提取用户证书: openssl p ... 
- 总结一下最近用到的技术(1)--ultraESB
			最近项目中方法用到了一些新的东西,由于之前没有用到过,现在总结一下,方便以后查阅,本篇文章介绍ultraESB,接下来的文章会介绍JsonSchema,JsonSchamaValidator,Json ... 
- docker link 过时不再用了?那容器互联、服务发现怎么办?
			在 1-2 年前,Docker 所有容器都连接于默认的桥接网络上,也就是很多老文章鼓捣的 docker0 桥接网卡.因此实际上默认情况下所有容器都是可以互联的,没有隔离,当然这样安全性不好.而服务发现 ... 
- ASP.NET Cookie概念、CURD操作、原理、实际运用
			会话就WEB开发来说,一个会话就是你通过浏览器与服务器之间的一次通话,只不过这种通话是以用浏览器浏览的方式来实现的. 就会话的应用来说,一般会话是用来识别用户的,比如你可以使用会话级变量记录当前用户已 ... 
- Codeforces Round #433 (Div. 2, based on Olympiad of Metropolises)
			A. Fraction 题目链接:http://codeforces.com/contest/854/problem/A 题目意思:给出一个数n,求两个数a+b=n,且a/b不可约分,如果存在多组满足 ... 
- 维基百科 请求流 webrequest_flow
			Logstash - Wikitech https://wikitech.wikimedia.org/wiki/Logstash 
- js数据类型--对象&数组
			javascript最重要的数据类型是对象 对象定义 对象是键值对的集合,或字符串到值映射的集合 对象申明 对象是由花括号括起来的 var person={ name:"my name&qu ... 
