Java 如何使用TestNG框架和Jenkins运行Selenium测试
我想使用Jenkins运行在TestNG框架中编写的Selenium测试 jenkins作业(自由式项目)中配置的命令: 注意:对于Java 如何使用TestNG框架和Jenkins运行Selenium测试,java,selenium,jenkins,selenium-webdriver,testng,Java,Selenium,Jenkins,Selenium Webdriver,Testng,我想使用Jenkins运行在TestNG框架中编写的Selenium测试 jenkins作业(自由式项目)中配置的命令: 注意:对于-cp参数,给定到testngjar、测试类和seleniumjar的目录路径 当我运行作业(buildnow选项)时,它会在Selenium的创建会话活动中出错 注意: 从命令行运行时,同一命令成功运行 控制台输出的错误日志:(jenkins) 以下是测试类: import org.openqa.selenium.WebDriver; import org.ope
-cp参数
,给定到testngjar、测试类和seleniumjar的目录路径
当我运行作业(buildnow
选项)时,它会在Selenium的创建会话活动中出错
注意:
从命令行运行时,同一命令成功运行
控制台输出的错误日志:(jenkins)
以下是测试类:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class SeleniumTests {
@Test
public void test1(){
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.co.in");
driver.quit();
}
}
以下是testng1.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Default suite">
<test verbose="2" name="Default test">
<classes>
<class name="SeleniumTests"/>
</classes>
</test> <!-- Default test -->
</suite> <!-- Default suite -->
环境详情:
根据
Mackowski
的建议,在tomcat
中安装了Jenkins
,作为webapp
(而不是Windows服务
),解决了问题
参考:
注意:当我们将Jenkins部署为Windows服务时运行测试时,没有启动/观察到浏览器GUI<代码>Jenkins在tomcat内部,浏览器GUI启动。这不是TestNG或Selenium问题。当Jenkins被称为Windows服务时,有时会发生此错误。在servlet容器(如Tomcat或GlassFish)中安装Jenkins,应该会有所帮助。您使用哪种操作系统?Linux?Windows?Windows OS-7-64位用于ChromDriver,未发现任何问题。但是对于IEDriver,get
org.openqa.selenium.NoSuchWindowException:无法获取浏览器(警告:服务器未提供任何堆栈跟踪信息)
您是将Jenkins安装为windows服务还是servlet容器?Jenkins安装为windows服务
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class SeleniumTests {
@Test
public void test1(){
WebDriver driver = new FirefoxDriver();
driver.get("http://www.google.co.in");
driver.quit();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<suite name="Default suite">
<test verbose="2" name="Default test">
<classes>
<class name="SeleniumTests"/>
</classes>
</test> <!-- Default test -->
</suite> <!-- Default suite -->