ausführen Ich möchte Selenium-Tests im TestNG-Framework mit Jenkins geschrieben ausführen.Wie Selenium Tests mit TestNG-Framework und Jenkins
Der Befehl in jenkins Job (Freestyle-Projekt) konfiguriert:
java -cp J:\taf\testng\*;J:\taf\workspace\TestNGExamples\bin;J:\automation\* org.testng.TestNG J:\taf\workspace\TestNGExamples\testng1.xml
Hinweis: für -cp argument
, um die Verzeichnispfade gegeben testng jar, test classes, and selenium jar
Wenn ich den Job (Build Now
Option) ausführen, wird es immer schlug auf Session-Aktivität von Selenium erstellen und den Fehler geben.
Hinweis:
Der gleiche Befehl lief erfolgreich wenn sie von der Kommandozeile lief.
Fehlerprotokoll von Konsolenausgabe: (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
Nach der Testklasse ist:
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();
}
}
Im Anschluss an die 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 -->
Umwelt Details:
- Jenkins - 2.19.4 (als Windows-Dienst)
- Java - 1.8
- TestNG - 6.8.5
- Selen - 3.0.1
- Firefox - 51
- geckodriver - 0.11. 1
- Os - Windows 7 - 64 bit
Welches Betriebssystem verwenden Sie? Linux? Windows? – mackowski
Windows OS - 7 - 64 Bit –
Für ChromDriver wurde kein Problem beobachtet. aber für IEDriver, habe 'org.openqa.selenium.NoSuchWindowException: Kann Browser nicht erhalten (ACHTUNG: Der Server hat keine Stacktrace-Informationen zur Verfügung gestellt)' –