我想使用Jenkins运行用TestNG框架编写的Selenium测试。
在jenkins job(Freestyle project)中配置的命令:
java -cp J:\taf\testng\*;J:\taf\workspace\TestNGExamples\bin;J:\automation\* org.testng.TestNG J:\taf\workspace\TestNGExamples\testng1.xml
注意:对于-cp argument,给定目录路径testng jar, test classes, and selenium jar
-cp argument
testng jar, test classes, and selenium jar
当我运行作业(Build Now选项)时,它被Selenium的create session活动打中并给出错误。
Build Now
注意:
同样的命令运行 成功地 从运行时 的命令行 。
控制台输出的错误日志: (jenkins)
Started by user Naveen Building in workspace C:\Program Files (x86)\Jenkins\workspace\TestNG Example [TestNG Example] $ cmd /c call C:\Windows\TEMP\hudson2261889395366550414.bat C:\Program Files (x86)\Jenkins\workspace\TestNG Example>java -cp J:\taf\testng\*;J:\taf\workspace\TestNGExamples\bin;J:\automation\* org.testng.TestNG J:\taf\workspace\TestNGExamples\testng1.xml [TestNG] Running: J:\taf\workspace\TestNGExamples\testng1.xml 1481801204206 geckodriver INFO Listening on 127.0.0.1:1387 Dec 15, 2016 4:56:44 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end 1481801204827 mozprofile::profile INFO Using profile path C:\Windows\TEMP\rust_mozprofile.KDz9DWYpWQAM 1481801204829 geckodriver::marionette INFO Starting browser C:\Program Files\Mozilla Firefox\firefox.exe 1481801204831 geckodriver::marionette INFO Connecting to Marionette on localhost:7795 1481801206090 Marionette INFO Listening on port 7795 ###!!! [Parent][MessageChannel] Error: (msgtype=0x2E007D,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv JavaScript error: resource://app/modules/ContentCrashHandlers.jsm, line 75: TypeError: browser.permanentKey is not a non-null object ###!!! [Parent][MessageChannel] Error: (msgtype=0x2E007D,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv Dec 15, 2016 4:56:47 PM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: Detected dialect: W3C ###!!! [Parent][MessageChannel] Error: (msgtype=0x2E007D,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
以下是测试课程:
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:
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 -->
环境详细信息:
这不是TestNG或Selenium问题。将Jenkins安装为Windows服务时,有时会发生此错误。在Tomcat或GlassFish之类的servlet容器中安装Jenkins,它应该会有所帮助。