java+eclipse+selenium+maven+testng+reportng+jenkins自动化测试环境搭建_java eclipse自动化测试创建maven
自己在研究自动化测试时,真的入了不少坑,直到现在,可能才勉强将环境搭建了起来。
在此,我随随便便总结了一下基于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文件中添加的依赖的内容
junitjunit3.8.1testorg.seleniumhq.seleniumselenium-java2.53.1velocityvelocity1.4org.apache.maven.pluginsmaven-resources-plugin2.4.3xml-apisxml-apis1.4.01org.testngtestng6.8.21testorg.uncommonsreportng1.1.2testorg.testngtestngcom.google.injectguice3.0testorg.apache.maven.pluginsmaven-surefire-plugin2.19.1com.google.injectguice3.0testorg.apache.maven.pluginsmaven-surefire-plugin2.5usedefaultlistenersfalselistenerorg.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReportertarget/alwaysorg.apache.maven.pluginsmaven-compiler-plugin3.5UTF-81.81.8org.apache.maven.pluginsmaven-surefire-plugin2.20testng.xml
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中有的选项找不到,一定是没有下载对应的插件,这个自己百度吧;
祝你早日成功~~~~~~
最后感谢每一个认真阅读我文章的人!作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望能给你前进的路上带来帮助。如果你用得到的话可以直接拿走:
软件测试资料领取:[内部资源] 想拿年薪40W+的软件测试人员,这份资料必须领取~
软件测试面试刷题工具领取:软件测试面试刷题【800道面试题+答案免费刷】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!