准备环境
首先我们新建一个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;@BeforeTestpublic void beforeTest(){driver = new FirefoxDriver();driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);driver.manage().window().maximize();driver.get("http://www.baidu.com");}@AfterTestpublic void afterTest(){driver.quit();}@Testpublic 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 运行成功!