Vorrei poter utilizzare Selenium 2 con Jenkins.Come eseguire test Selenium 2 in Jenkins
Sono nuovo ad entrambi quindi per favore scusate qualsiasi mia ignoranza.
Ho notato il seguente plug-in per jenkins HERE e l'ho installato.
Ho una classe di base come segue:
public class BaseTestClass { protected Properties myprops; protected String baseurl; protected WebDriver driver; protected boolean acceptNextAlert = true; protected StringBuffer verificationErrors = new StringBuffer(); public BaseTestClass() { try { myprops = TestUtil.readProps("src/MyProps.properties"); baseurl = myprops.getProperty("baseurl"); driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities.fireFox()); } catch(Exception e) { e.printStackTrace(); } } @Before public void setUp() throws Exception { driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); } @After public void tearDown() throws Exception { driver.quit(); String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } } protected boolean isElementPresent(By by) { try { driver.findElement(by); return true; } catch (NoSuchElementException e) { return false; } } protected String closeAlertAndGetItsText() { try { Alert alert = driver.switchTo().alert(); if (acceptNextAlert) { alert.accept(); } else { alert.dismiss(); } return alert.getText(); } finally { acceptNextAlert = true; } }
Ho la seguente configurazione sul Selenio Plugin per Jenkins:
..
Una volta che cerco di costruire il progetto ed eseguire un test JUnit selenio Jenkins, si costruisce con successo, ma il test è di per sé fallisce. (Funziona bene quando si esegue con la formica dalla riga di comando - e cambiando il WebDriver
a: driver = new FirefoxDriver();
) - Utilizzando il selenio RC
Questa è l'uscita della console in Jenkins:
EDIT: Ho appena notato è possibile archiviare il file di output .xml di Junit dopo la creazione in Jenkins. Sto ottenendo una classe non trovata eccezione? Questo è strano perché, come ho detto, si integra perfettamente quando si utilizza ant
dalla riga di comando.
L'errore è il seguente:
<error message="com.loggedin.CCBreadCrumb" type="java.lang.ClassNotFoundException">
java.lang.ClassNotFoundException: com.loggedin.CCBreadCrumb at
java.net.URLClassLoader$1.run(URLClassLoader.java:366) at
java.net.URLClassLoader$1.run(URLClassLoader.java:355) at
java.security.AccessController.doPrivileged(Native Method) at
java.net.URLClassLoader.findClass(URLClassLoader.java:354) at
java.lang.ClassLoader.loadClass(ClassLoader.java:423) at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at
java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native
Method) at java.lang.Class.forName(Class.java:186)
</error>
Grazie in anticipo per qualsiasi direzione o aiuto si può avere!
Anch'io ho avuto un problema durante l'integrazione di Selenium 2 + Jenkins. Sono in grado di eseguire il mio test di selenio in jenkins. Ma non sono in grado di avviare il browser attraverso jenkins. Funziona come un browser senza testa. Posso sapere che tempo è possibile farlo? Se sì, per favore condividi come farlo. Per favore, condividi se hai dei bei tutorial. – Manigandan
Sì, ero in grado di farlo con firefox sia su MAC OSX 10.8.3 che su Windows 7. È necessario utilizzare una configurazione del nodo del driver Web personalizzata come ho detto sopra e dovrebbe avviare il broswer se è stata impostata una griglia di selenio con firefox configurato. Non ho trovato nessun buon tutorial su questo. In bocca al lupo! – Curt