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

本人是一个软件测试小白,自己在研究自动化测试时,真的入了不少坑,直到现在,可能才勉强将环境搭建了起来。

在此,我随随便便总结了一下基于java的selenium自动化测试环境搭建,送给正在学习软件测试的你,也就当自己做了个笔记,防止下次忘记。

不过,熟练之后应该也就不会忘记了,所以,开始自学时要多练呢,小伙伴们!!!

1.安装配置eclipse环境

我想大家配置eclipse应该是分分钟的事,我也就不多啰嗦了

(1)在官网上下载eclipse安装包,解压;

(2)在官网下载jdk,配置环境变量:

JAVA_HOME: jdk文件所在目录;

path:%JAVA_HOME%\bin或者C:\Program Files\Java\jdk1.8.0_111\bin

(3)配置完成后,在cmd控制台中输入java -version,如果出现版本信息等内容,则证明配置成功。

 

2、配置maven环境

使用maven的目的是不用导入selenium的jar包,可以在maven的pom文件中添加依赖,直接下载jar包,用起来比较方便。

(1)在官网下载maven文件,后缀为zip的包,将文件解压;

(2)配置maven环境变量;

MAVEN_HOME:maven文件所在目录
path:%MAVEN_HOME%\bin

 

此时maven已经安装成功,我们需要在cmd中输入mvn -version检查一下,出现版本信息则证明安装成功。

 

3、在eclipse中添加maven

(1)点击window→preference进入对话框页面,在进入UserSettings设置页面,如图选择settings.xml文件和本地仓库的绝对路径。点击Apply→OK

(2)测试maven是否安装成功,打开eclipse选择上面菜单“File”–>“New”–>“Project”选择创建“Maven Project”项目试试。如下图表示配置完成:

4、在eclipse中添加testng。

运用testng的目的是方便管理用例,需要执行哪个用例就执行哪个,而不是全部执行,同时testng要在pom文件中添加依赖,这样方便jenkins中执行pom文件时可以执行测试用例。

(1)打开我们的Eclipse,点击Help ->Install New Software,如图:

(2)点击右上角的Add按钮,在弹出来的对话框中填入如下内容。Name:testNG location: beust.com/eclipse ,点击OK. 勾选testNG,然后点击next进行下一步的操作直至完成。

 

(3)进度条完成之后,应该已经成功。验证是否安装成功,重新启动Eclipse,点击file–>new–>other–>testNG.出现如下图所示即为安装成功。

 

 

5、编写代码示例

我这里就比较简单介绍一下我的操作步骤。

(1)新建一个maven项目(怎么新建请自行百度)

我的目录结构如图所示

下面是我的用例代码的编写,写个三个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("9072388@qq.com");
	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仓库(mvnrepository.com)中搜索需要的包,添加到pom文件中即可。

 

以下代码是我的pom.xml文件中添加的依赖的内容

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
	<groupId>org.seleniumhq.selenium</groupId>
	<artifactId>selenium-java</artifactId>
	<version>2.53.1</version>
</dependency>
<dependency>
	<groupId>velocity</groupId>
	<artifactId>velocity</artifactId>
	<version>1.4</version>
</dependency>
<dependency>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-resources-plugin</artifactId>
	<version>2.4.3</version>
</dependency>
<dependency>
	<groupId>xml-apis</groupId>
	<artifactId>xml-apis</artifactId>
	<version>1.4.01</version>
</dependency>
<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.8.21</version>
  <scope>test</scope>
</dependency>
<!-- 依赖reportNg 关联testNg-->
<dependency>
    <groupId>org.uncommons</groupId>
    <artifactId>reportng</artifactId>
    <version>1.1.2</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>
<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-surefire-plugin -->
<dependency>
	<groupId>org.apache.maven.plugins</groupId>
	<artifactId>maven-surefire-plugin</artifactId>
	<version>2.19.1</version>
</dependency>
 <dependency>
    <groupId>com.google.inject</groupId>
    <artifactId>guice</artifactId>
    <version>3.0</version>
    <scope>test</scope>
    </dependency>     
    <plugins>
    <!-- 添加插件,添加ReportNg的监听器,修改最后的TestNg的报告 -->
   <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.5</version>
        <configuration>
            <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>
            <forkMode>always</forkMode>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5</version>
        <configuration>
            <encoding>UTF-8</encoding>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
	<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-surefire-plugin</artifactId>
			<version>2.20</version>
			<configuration>
				<suiteXmlFiles>
					<suiteXmlFile>testng.xml</suiteXmlFile>
				</suiteXmlFiles>
			</configuration>
		</plugin>
	</plugins>

</build>

6、生成testng.xml文件

(1)右键点击项目名称,TestNg→Convert to TestNg,接着点击Next→finish。就会生成testng.xml文件。

 (2)可以右键点击testng.xml文件运行用例

 

(3)也可以在pom文件中添加下图内容,关联testng.xml文件

此时执行pom文件也可执行用例 

 

(4)生成的报告在target\surefire-reports\html目录下的index.html文件中,这里要说明一下,我的pom文件中添加可reportng的依赖,所有报告的样式是按照以下样式生成的。

 

7、jenkins环境配置

将jenkins搭建在本地的tomcat中,首先要搭建tomcat环境,在官网上下载tomcat压缩包,解压,配置tomcat环境变量完成之后,启动tomcat的bin目录下的startup.bat文件,出现如图所示的窗口

 

如果没有更改端口号的话,默认打开地址为http://localhost:8080,如图所示 

 

下载jenkins.war包,下载成功之后,将改文件放在tomcat的webapp目录下,此时重启tomcat,在地址栏中输入​​​​​​http://localhost:8080/jenkins/可打开jenkins页面。 

 

 

8、jenkins如何构建pom文件的配置

(1)点击系统管理→全局工具配置,配置jdk和maven参数

 

(2)新建一个自由风格的任务,对改项目进行配置 点击调用顶层目标,填写下图的内容

 

(3)构建后显示测试报告的内容,需要将报告的绝对路径写入

 

(4)点击立即构建,构建项目

 

9、jenkins构建完成后以邮件的形式发送报告

(1)在系统管理→系统配置中配置如下内容

 

(2)在项目任务点击配置,配置内容如下

 

我的Default Content中输入的邮件模板是下图所示,网上有很多模版,大家可以搜索一下。

 

下图在高级里面,表示的是每次构建都会发送邮件

 

此时,基本就介绍完了,赶快构建一下吧

 

按照操作,有没有成功呢?

整个环境搭建过程不可能会很顺利,会不时的出现各种奇奇怪怪的问题;要有耐心哦!!!

jenkins中有的选项找不到,一定是没有下载对应的插件,这个自己百度吧;

祝你早日成功~~~~~~

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【100%免费无套路】 

å¨è¿éæå¥å¾çæè¿°

 全套资料获取方式:点击下方小卡片自行领取即可

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值