java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建

1、安装配置eclipse环境
(1)在官网上下载eclipse安装包,解压;
(2)在官网下载jdk,配置环境变量:
JAVA_HOME: jdk文件所在目录;
path:%JAVA_HOME%\bin或者C:\Program Files\Java\jdk1.8.0_111\bin

java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第1张图片
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第2张图片
(3)配置完成后,在cmd控制台中输入java -version,如果出现版本信息等内容,则证明配置成功。
在这里插入图片描述
2、配置maven环境
使用maven的目的是不用导入selenium的jar包,可以在maven的pom文件中添加依赖,直接下载jar包,用起来比较方便。
(1)在官网下载maven文件,后缀为zip的包,将文件解压;
(2)配置maven环境变量;
MAVEN_HOME:maven文件所在目录
path:%MAVEN_HOME%\bin

java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第3张图片
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第4张图片
此时maven已经安装成功,我们需要在cmd中输入mvn -version检查一下,出现版本信息则证明安装成功。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第5张图片
3、在eclipse中添加maven
(1)点击window→preference进入对话框页面,在进入UserSettings设置页面,如图选择settings.xml文件和本地仓库的绝对路径。点击Apply→OK。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第6张图片
(2)测试maven是否安装成功,打开eclipse选择上面菜单“File”–>“New”–>“Project”选择创建“Maven Project”项目试试。如下图表示配置完成:
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第7张图片
4、在eclipse中添加testng。
运用testng的目的是方便管理用例,需要执行哪个用例就执行哪个,而不是全部执行,同时testng要在pom文件中添加依赖,这样方便jenkins中执行pom文件时可以执行测试用例。
(1)打开我们的Eclipse,点击Help ->Install New Software,如图:
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第8张图片
(2)点击右上角的Add按钮,在弹出来的对话框中填入如下内容。Name:testNG location: http://beust.com/eclipse ,点击OK. 勾选testNG,然后点击next进行下一步的操作直至完成。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第9张图片
(3)进度条完成之后,应该已经成功。验证是否安装成功,重新启动Eclipse,点击file–>new–>other–>testNG.出现如下图所示即为安装成功。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第10张图片
5、编写代码示例
我这里就比较简单介绍一下我的操作步骤。
(1)新建一个maven项目(怎么新建请自行百度)
我的目录结构如图所示
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第11张图片
下面是我的用例代码的编写,写个三个Test,从注解就能看出来。当然中间牵扯到调用其他类、调用文件、继承其他类等问题,我就不全部粘贴出来了
@Test
//打开首页
public void openPage(){
driver.get(“这里是打开的地址”);
waitTime(2000);
driver.manage().window().maximize();
waitTime(2000);
}

@Test(dependsOnMethods={"openPage"})
//账号登录
public void Login(){
	this.propertiesfile();
	WebElement name = driver.findElement(By.id(prop.getProperty("user")));
	name.sendKeys(prop.getProperty("uservalue"));
	waitTime(1000);
	WebElement passwo = driver.findElement(By.id(prop.getProperty("passwo")));
	passwo.sendKeys(prop.getProperty("passwovalue"));
	waitTime(1000);
	WebElement Loginbutton = driver.findElement(By.id(prop.getProperty("login")));
	Loginbutton.click();
	waitTime(3000);	
	String e1 = driver.findElement(By.id("login-name")).getText();
	System.out.println("当前登录人是: "+e1);
}

@Test(dependsOnMethods={"Login"})
//新增供应商
public void Addgys(){
	JavascriptExecutor js = (JavascriptExecutor) driver;
	js.executeScript("arguments[0].click();",driver.findElement(By.linkText("供应商管理")));
	js.executeScript("arguments[0].click();",driver.findElement(By.linkText("供应商列表")));
	
	WebElement iframe = driver.findElement(By.id("/cpkhe/supplier/list"));
	driver.switchTo().frame(iframe);
	
	WebDriverWait wait1 = new WebDriverWait(driver,30);
	wait1.until(ExpectedConditions.presenceOfElementLocated(By.cssSelector(prop.getProperty("addgysbutton"))));
	WebElement gys3 = driver.findElement(By.cssSelector(prop.getProperty("addgysbutton")));
	gys3.click();
	waitTime(2000);
	driver.switchTo().defaultContent();	
	
	WebElement iframe1 = driver.findElement(By.id("/cpkhe/supplier/add"));
	driver.switchTo().frame(iframe1);
	
	driver.findElement(By.id("supName")).sendKeys("Auto供应商名称1");;
	driver.findElement(By.id("firstContact")).sendKeys("第一联系人");
	driver.findElement(By.id("firstContactPost")).sendKeys("第一联系人职务");
	driver.findElement(By.id("firstContactMobile")).sendKeys("18892080505");
	driver.findElement(By.id("contactEmail")).sendKeys("[email protected]");
	driver.findElement(By.id("sourceInfo")).sendKeys("渠道信息渠道信息渠道信息啦啦啦啦");
	driver.findElement(By.id("brandName0")).sendKeys("品牌名称1");
	driver.findElement(By.cssSelector(".ant-select-selection__placeholder")).click();
	driver.findElement(By.xpath(prop.getProperty("branddowm"))).click();
	driver.findElement(By.id("applyReason")).sendKeys("申请理由申请理由");
	
	driver.findElement(By.cssSelector("span.ant-upload > input:nth-child(1)")).sendKeys("C:\\Users\\ye.menghua\\Desktop\\红星美凯龙\\图片\\timg.jpg");
	
	waitTime(2000);
	driver.findElement(By.cssSelector("button.ant-btn:nth-child(2)")).click();
	WebDriverWait wait2 = new WebDriverWait(driver,30);
	wait2.until(ExpectedConditions.presenceOfElementLocated(By.className("message-info-desc")));
	String text1 = driver.findElement(By.className("message-info-desc")).getText();
	System.out.println("新增供应商提交之后,提示信息:"+text1);
}


//时间等待
	public static void waitTime(int time){
		try {
			Thread.sleep(time);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}

(2)项目需要的包都在pom文件中添加依赖,只需要在maven仓库(https://mvnrepository.com)中搜索需要的包,添加到pom文件中即可。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第12张图片
以下代码是我的pom.xml文件中添加的依赖的内容


  junit
  junit
  3.8.1
  test



	org.seleniumhq.selenium
	selenium-java
	2.53.1


	velocity
	velocity
	1.4


	org.apache.maven.plugins
	maven-resources-plugin
	2.4.3


	xml-apis
	xml-apis
	1.4.01


  org.testng
  testng
  6.8.21
  test



    org.uncommons
    reportng
    1.1.2
    test
    
        
            org.testng
            testng
        
    



    com.google.inject
    guice
    3.0
    test



	org.apache.maven.plugins
	maven-surefire-plugin
	2.19.1

 
    com.google.inject
    guice
    3.0
    test
         
    
    
   
        org.apache.maven.plugins
        maven-surefire-plugin
        2.5
        
            
                
                    usedefaultlisteners
                    false
                
                
                    listener                      
                    org.uncommons.reportng.HTMLReporter,  org.uncommons.reportng.JUnitXMLReporter
                
            
            target/
            always
        
    
    
        org.apache.maven.plugins
        maven-compiler-plugin
        3.5
        
            UTF-8
            1.8
            1.8
        
    
	
			org.apache.maven.plugins
			maven-surefire-plugin
			2.20
			
				
					testng.xml
				
			
		
	


6、生成testng.xml文件
(1)右键点击项目名称,TestNg→Convert to TestNg,接着点击Next→finish。就会生成testng.xml文件。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第13张图片
(2)可以右键点击testng.xml文件运行用例
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第14张图片
(3)也可以在pom文件中添加下图内容,关联testng.xml文件
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第15张图片
此时执行pom文件也可执行用例
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第16张图片
(4)生成的报告在target\surefire-reports\html目录下的index.html文件中,这里要说明一下,我的pom文件中添加可reportng的依赖,所有报告的样式是按照以下样式生成的。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第17张图片
7、jenkins环境配置
将jenkins搭建在本地的tomcat中,首先要搭建tomcat环境,在官网上下载tomcat压缩包,解压,配置tomcat环境变量完成之后,启动tomcat的bin目录下的startup.bat文件,出现如图所示的窗口
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第18张图片
如果没有更改端口号的话,默认打开地址为http://localhost:8080,如图所示
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第19张图片
下载jenkins.war包,下载成功之后,将改文件放在tomcat的webapp目录下,此时重启tomcat,在地址栏中输入http://localhost:8080/jenkins/可打开jenkins页面。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第20张图片
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第21张图片
8、jenkins如何构建pom文件的配置
(1)点击系统管理→全局工具配置,配置jdk和maven参数
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第22张图片
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第23张图片
(2)新建一个自由风格的任务,对改项目进行配置
点击调用顶层目标,填写下图的内容
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第24张图片
(3)构建后显示测试报告的内容,需要将报告的绝对路径写入
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第25张图片
(4)点击立即构建,构建项目
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第26张图片
9、jenkins构建完成后以邮件的形式发送报告
(1)在系统管理→系统配置中配置如下内容
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第27张图片
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第28张图片
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第29张图片
(2)在项目任务点击配置,配置内容如下
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第30张图片
我的Default Content中输入的邮件模板是下图所示,网上有很多模版,大家可以搜索一下。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第31张图片
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第32张图片
下图在高级里面,表示的是每次构建都会发送邮件
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第33张图片
此时,基本就介绍完了,赶快构建一下吧
我现在还有一个问题,就是收到的邮件正文不显示,折腾了好久都没有成功,也是很悲哀呀。
java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_第34张图片
10、注意:
(1)整个环境搭建过程不可能会很顺利,会不时的出现各种奇奇怪怪的问题;
(2)jenkins中有的选项找不到,一定是没有下载对应的插件,这个自己百度吧;
(3)我的邮件正文是空白,谁知道解决方法了,麻烦给我说一下;
(4)加油,在奋斗路上的你。

你可能感兴趣的:(selenium,软件测试,Java,jmeter)