2016-12-15 3 views
1

Я хочу запустить тесты Selenium, написанные в рамках TestNG, используя Jenkins.Как проводить тесты на селен с использованием основы TestNG и Jenkins

Команда настроена в Дженкинс работу (проект Freestyle):

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 опция), она становится ударил по созданию сеансовой активности Селена и дал ошибку.

Примечание:

Та же команда побежала успешно, когда выбежала из командной строки.

Error Log из консоли вывода: (Дженкинс)

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 

Ниже класса Test:

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. Дженкинс - 2.19.4 (как служба Windows)
  2. Java - 1,8
  3. TestNG - 6.8.5
  4. Селен - 3.0.1
  5. Firefox - 51
  6. geckodriver - 0,11. 1
  7. Os - Windows 7 - 64 бит
+0

Какую ОС вы используете? Linux? Окна? – mackowski

+0

ОС Windows - 7 - 64 бит –

+0

Для ChromDriver проблем не наблюдается. но для IEDriver получено 'org.openqa.selenium.NoSuchWindowException: невозможно получить браузер (ПРЕДУПРЕЖДЕНИЕ: сервер не предоставил никакой информации о стеке)' –

ответ

2

Это не проблема TestNG или селена. Эта ошибка иногда возникает, когда Дженкинс недоволен службой Windows. Установите Jenkins внутри контейнера сервлетов, таких как Tomcat или GlassFish, и это должно помочь.

2

Как было предложено Mackowski, установленный Jenkins в tomcat как webapp (вместо Windows Service), и он решил проблему.

Ссылка:

  1. https://wiki.jenkins-ci.org/display/JENKINS/Tomcat

Примечание: Когда мы запустим тесты при развертывании Jenkins as Windows Service, ни один браузер GUI запускается/не наблюдается. Jenkins inside tomcat, открывается графический интерфейс браузера.

 Смежные вопросы

  • Нет связанных вопросов^_^