当前位置: 首页 > 知识库问答 >
问题:

我的Selenium脚本在Eclipse上运行良好但在Jenkins上就不行了

吴镜
2023-03-14

我已经使用TestNG注释和maven创建了脚本。它在Eclipse中运行,我也尝试运行testng。xml文件,看起来不错。然后我配置了Jenkins,但现在它没有运行。Jenkins给出的错误如下:(仅供参考:我以前已经成功构建了Jenkins,这怎么可能在一天内打破?)

在端口48847上启动ChromeDriver 72.0.3626.69(3C16F8A135ABC0D4DA2DF33804DB79B849A7C38),仅允许本地连接。请保护ChromeDriver和相关测试框架使用的端口,以防止恶意代码访问。测试运行:7,失败:1,错误:0,跳过:6,运行时间:4.774秒

我在下面添加了Jenkins config Root POM=C:\Users。。。。\工作区\VRsessions\pom。xml目标和选项=干净安装

我尝试运行的代码,它的脚本用于进行UI验证。

**public String baseUrl = " URL OF PAGE";
String driverPath = "C:\\Selenium\\chromedriver_win32\\chromedriver.exe";
public WebDriver driver;
JavascriptExecutor js = (JavascriptExecutor) driver;

@BeforeTest
public void launchBrowser() throws InterruptedException {
System.setProperty("webdriver.chrome.driver", driverPath);
driver = new ChromeDriver();
driver.get(baseUrl);
                                                                                        
}**     

共有2个答案

夏侯航
2023-03-14

要解决此问题,请将--disable dev shm usage,--headless,--no sandbox命令行选项添加到Chrome。您还需要将ChromeOptions对象传递给新的ChromeDriver(选项)

代码:

ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
options.addArguments("--no-sandbox");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("disable-infobars");
System.setProperty("webdriver.chrome.driver", driverPath);
driver = new ChromeDriver(options);
driver.get(baseUrl);

羊煜
2023-03-14

据我所知,chrome上的测试必须在headless模式下才能在Jenkins上运行。您需要如下设置chrome选项:

import org.openqa.selenium.chrome.ChromeDriver;

...

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--headless");
driver = new ChromeDriver(chromeOptions);
 类似资料:
  • 我创建了一个JasperReport应用程序,它在tomcat服务器上运行良好。但是当我使用相同的jar在Jboss上运行时,它会显示错误 原因:java.lang.ClassCastException:org.apache.xerces.jaxp.DocumentBuilderFactoryImpl无法强制转换为javax.xml.parsers.DocumentBuilderFactor.ne

  • 我试图让我的硒测试在詹金斯运行,但面临以下问题。当使用maven test或intellij运行时,测试在我的本地计算机上运行得很好。 Firefox 39 x64 Selenium 2.46.0 SeleniumHQ插件(自动更新,所以应该是最新版本) 根据这个Xvfb服务器应该正在运行 问题出在哪里?我在网上搜索了两天,尝试了几乎所有我找到的东西后,我想不出来了。 资料来源: 错误:

  • 尽管CAS服务器在Tomcat下工作得很好,但我有一些问题要使它在WebLogic12c下工作。在Weblogic上部署之前,我遵循以下指南:https://github.com/gentics/gentics-sso-cas/wiki/oracle-weblogic-configuration在webcontent/web-inf/with content中添加文件Weblogic.xml:

  • 我已经使用Appium和Java以及TestNG为Android应用程序编写了一些测试。我的测试在模拟器上本地运行良好,但当我将它们上传到设备场时,我的测试总是失败。我已经尽可能地简化了我的测试,但它仍然不起作用。目前,我尝试运行的测试会在打开应用程序时出现的提示中找到并单击“允许权限”按钮。代码: 观看Device Farm提供的视频,我可以看到它打开并立即关闭我的应用程序。它甚至没有像应该的那

  • 当我执行时 在控制台(javascript)中,它通过类名返回元素,但是当我执行时: < code > driver . find elements(by . class name(" jobs-company-card _ _ content-wrapper ")); 结果(元素)是一个空的列表,注意返回