您的位置:首页 > 其它

selenium+testng+reportng+ant+jenkins集成日记

2016-07-13 19:29 423 查看
1、新建一个项目

2、编写测试脚本

3、配置ant的build.xml脚本

4、集成到jenkins,并运行

1.新建项目

注意jdk的版本要一致

eclipse Window --Preference --java --Compiler

ant Window --Preference -- Ant --Runtime --Global Entries



新建一个TestNG Class



导入项目需要的lib



配置reportng监听器



2、测试代码如下:

package TestKY;

import org.testng.annotations.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.*;
import org.testng.annotations.*;
import org.testng.Assert;

public class testkaiyang {
WebDriver driver;
@Test
public void loginyuheng() throws Exception {
//如果火狐浏览器没有默认安装在C盘,需要制定其路径 也可以引入其他浏览器
//System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla firefox/firefox.exe");
System.setProperty("webdriver.chrome.driver", "D:\\Python27\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
WebElement txtbox = driver.findElement(By.name("wd"));
txtbox.sendKeys("Glen");

WebElement btn = driver.findElement(By.id("su"));
btn.click();

String expectedTitle = "百度一下,你就知道";
String actualTitle = driver.getTitle();
System.out.println(actualTitle);

Assert.assertEquals(actualTitle,expectedTitle);
driver.close();
}
public void tearDown(){
driver.quit();
}

}



显示结果通过,同时运行一下testng.xml看看是不是能通过

这时刷新一下项目 就可以在新生成的test-output中看到reportng生成的html报告了



3、配置ant的build文件

<?xml version="1.0" encoding="UTF-8" ?>
<project name="KaiYang" default="run" basedir=".">
<echo message="import libs" />
<echo>Java-Home: ${java.home}</echo>
<echo>Java-Version: ${java.version}</echo>
<property name="src.dir" value="src" />
<property name="dest.dir" value="build" />
<property name="dest.report" value="test-output" />
<path id="run.classpath">
<fileset dir="${basedir}">
<include name="lib/*.jar" />
</fileset>
</path>
<taskdef name="testng" classname="com.beust.testng.TestNGAntTask">
<classpath>
<pathelement location="lib/testng-6.8.8.jar"/>
</classpath>
</taskdef>

<target name="clean">
<delete dir="${dest.dir}" />
</target>
<target name="compile" depends="clean">
<echo message="mkdir" />
<mkdir dir="${dest.dir}" />
<javac target="1.7" srcdir="${src.dir}" destdir="${dest.dir}" encoding="UTF-8" debug="on" includeAntRuntime="false" >
<classpath refid="run.classpath" />
</javac>
</target>
<path id="runpath">
<path refid="run.classpath" />
<pathelement location="${dest.dir}" />
</path>
<target name="run" depends="compile">
<testng classpathref="runpath" outputDir="${dest.report}" haltOnFailure="true" useDefaultListeners="false" listeners="org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter,org.testng.reporters.FailedReporter">
<sysproperty key="file.encoding" value="UTF-8" />
<!--<testng classpathref="runpath" outputDir="${dest.report}" haltOnFailure="true" useDefaultListeners="true" >-->
<xmlfileset dir="${src.dir}" includes="testng.xml" />
<jvmarg value="-ea" />
</testng>
</target>
</project>


用ant运行build.xml文件 (ant为eclipse自带工具 可以在 run as Exteral Tools Configuration...里面添加)

在test-output的html中可查看报告文件:



4、配置到jenkins





手工点击构建 查看工作空间:





如果遇到不启动浏览器的情况 请参照我转载的另一篇博文 :http://www.cnblogs.com/tester-hehehe/p/5504086.html

总结一下 遇到主要的问题 ant的jdk环境与平台不一致

ant编译build.xml文件生成的html中文乱码 已在代码中添加

<sysproperty key="file.encoding" value="UTF-8" />    解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: