首页 > 解决方案 > 无法使用 Jenkins 配置 Selenium

问题描述

我正在使用 centos 7 并在将 selenium 与 Jenkins 集成时面临问题。

我在我的本地机器上正确执行的硒脚本下面写了。

我在端口 8081 上运行了 tomcat,这个脚本正在处理它。

脚本如下 -

public class App 
{

@Test
public static void main( String[] args ) throws InterruptedException
{
    System.setProperty("webdriver.chrome.driver","/home/amrut/Documents/chromedriver"); 
    ChromeOptions chromeOptions = new ChromeOptions(); 

//      chromeOptions.addArguments("--headless");

    WebDriver driver = new ChromeDriver(chromeOptions); 

    System.out.println("Hi, Welcome to  YouTube Live session on Selenium WebDriver"); 

    driver.get("http://localhost:8081/addressbook"); 
    driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
    Thread.sleep(1000);
    driver.findElement(By.className("v-button")).click(); 
    Thread.sleep(1000);
    driver.findElement(By.id("gwt-uid-5")).sendKeys("temp"); 
    Thread.sleep(1000);
    driver.findElement(By.id("gwt-uid-7")).sendKeys("DevOps");
    Thread.sleep(1000);
    driver.findElement(By.id("gwt-uid-9")).sendKeys("9834562709");
    Thread.sleep(1000);
    driver.findElement(By.id("gwt-uid-11")).sendKeys("Devops@temp.co");
    Thread.sleep(1000);
    driver.findElement(By.id("gwt-uid-13")).sendKeys("01/01/2015");
    Thread.sleep(1000);
    driver.findElement(By.className("v-button-primary")).click(); 
    Thread.sleep(3000); 
    driver.quit();    

    System.out.println("Done....");
}
}

现在,如果我通过 Eclipse 在本地运行它,它工作正常。

我已经从中导出了可运行的 jar 文件,并将其上传到了 Git 存储库。在创建 jar 文件时,我的代码中取消了对 headless chromeoptions 行的注释。

此外,这个本地 Jar 文件在我的本地命令行中运行良好。

现在我正在创建 Jenkins 的作业,它将获取这个 GIT 存储库 & 在 Build 部分中我选择了Execute shell并将以下命令传递给它 -

java -jar "/var/lib/jenkins/workspace/Selenium Demo/App1_test.jar"

Caused by: java.lang.IllegalStateException: The driver executable does not exist: /home/amrut/Documents/chromedriver
at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
at org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:136)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:131)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:33)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:139)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:335)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:89)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:157)
at com.amrut.SeleniumDemo.App.main(App.java:26)
... 5 more
Build step 'Execute shell' marked build as failure
Finished: FAILURE

我很确定我的 chromedriver 存在于路径 /home/amrut/Documents/chromedriver 中,但不确定为什么会出现此错误?

请协助。我尝试了很多选项,但仍然无法解决这个问题。

提前致谢。

标签: gitseleniumjenkinsselenium-webdriverselenium-chromedriver

解决方案


推荐阅读