当前位置: 首页 > 面试题库 >

如何使用TestNG框架和Jenkins运行Selenium测试

祁烈
2023-03-14
问题内容

我想使用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

当我运行作业(Build Now选项)时,它被Selenium的create session活动打中并给出错误。

注意:

同样的命令运行 成功地 从运行时 的命令行

控制台输出的错误日志: (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

<?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 -->

环境详细信息:

  1. Jenkins-2.19.4(作为Windows服务)
  2. Java-1.8
  3. TestNG-6.8.5
  4. 硒-3.0.1
  5. Firefox-51
  6. 壁虎-0.11.1
  7. 操作系统-Windows 7-64位

问题答案:

这不是TestNG或Selenium问题。将Jenkins安装为Windows服务时,有时会发生此错误。在Tomcat或GlassFish之类的servlet容器中安装Jenkins,它应该会有所帮助。



 类似资料:
  • 我想使用Jenkins运行在TestNG框架中编写的Selenium测试。 jenkins作业(Freestyle项目)中配置的命令: 控制台输出的错误日志:(jenkins) 下面是测试类: 以下是: null

  • 问题内容: 我正在尝试从Jenkins运行TestNG测试(在一个包含的Java项目中),但是没有运气。 似乎Jenkins的TestNG插件(https://wiki.jenkins-ci.org/display/JENKINS/testng- plugin )仅发布TestNG测试的结果,但实际上不运行测试类…或我错了吗? 无论如何,我如何在Jenkins的TestNG项目中实际运行TestN

  • 我试图从Jenkins那里运行TestNG测试(在一个包含Java的项目中),但没有成功。 看起来好像是Jenkins的TestNG插件(https://wiki.jenkins-ci.org/display/JENKINS/testng-plugin)只发布TestNG测试的结果,但不实际运行测试类。。。还是我错了? 在任何情况下,我如何在与Jenkins的TestNG项目中实际运行TestNG

  • 问题内容: 我正在尝试使用testng并行运行自动化测试(Selenium webdriver)。这是我正在运行的节点: 这是我的测试课: } 这是我的xml: 当我运行XML时,我希望我的测试一次在两个线程中的两个浏览器上运行,但是,当我运行XML时,我使两个浏览器实例第一次运行,然后它们分别递增,并且50%测试失败了,您可以看到我正在尝试在每个方法中实例化驱动程序,尽管这不是我的框架如何工作,

  • 我正在构建一个网络项目,它使用Maven进行构建,并使用泽西进行RESTful API。我使用TestNG和泽西测试框架编写了单元测试,并在内存中运行它们,而不是在网络服务器上。 在我的测试中,我对MySQL数据库进行了JDBC调用,并得到了一些结果。当我使用TestNG for Eclipse插件从Eclipse内部运行时,测试运行良好。但是,当我尝试使用以下两个命令之一从Maven运行时: 或