Pb pour convertir des fichiers Java

zogleheros
Messages : 3
Inscription : mer. juil. 01, 2015 1:21 pm

Pb pour convertir des fichiers Java

Message par zogleheros »

Bonjour,

Pour utiliser un script Java pour Selenium avec Squash TA, j'ai un problème lors de la phase de Setup. Avec simplement le code suivant dans le fichier .ta :
[code]SETUP :

LOAD toto AS seleniumTestCompiled
CONVERT seleniumTestCompiled TO script.java(compile) AS SeleniumTestCompiled

TEST :

TEARDOWN :

[/code]

J'obtiens une erreur :
[code][ERROR] Test Automation Engine error (non SUT) : method 'convert' from engine component of class 'org.squashtest.ta.plugin.commons.converter.FileToJavaCodeBundle' with argument 'org.squashtest.ta.framework.components.FileResource' has thrown an exception.
java.lang.NullPointerException[/code]

Manifestement il ne trouve pas le fichier java dans "toto\java\Verif.java" sur la racine "resources".
J'ai essayé plein de choses mais ça ne passe pas. Je précise que ma config de squash TA marche avec des scripts shell, j'arrive à loader des fichiers pour les uploader sur des serveurs.
Ca ressemble à un problème de configuration quelque part, mais je ne vois pas où.

Voici le code du fichier pom.xml :
[spoiler]

4.0.0

org.squashtest.tutorial
squashta.github
pom
1.0




1.8.0-RELEASE

src/log4j.properties






org.squashtest.ta
squash-ta-maven-plugin
${ta.framework.version}













com.oracle
ojdbc6
11.2.0.4


org.seleniumhq.selenium
selenium-java
2.46.0













${ta.jenkins.attachment.mode}







${status.update.events.url}
${squash.ta.external.id}
${jobname}
${hostname}
${squash.ta.conf.file}
${ta.tmcallback.reportbaseurl}
${ta.tmcallback.jobexecutionid}
${ta.tmcallback.reportname}








run










org.squashtest.ta.release
squashtest test automation - releases
http://repo.squashtest.org/maven2/releases






org.squashtest.plugins.release
squashtest.org
http://repo.squashtest.org/maven2/releases

false


true




[/spoiler]

Et celui du fichier Verif.java :
[spoiler]
import java.util.regex.Pattern;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import static org.junit.Assert.*;
import static org.hamcrest.CoreMatchers.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;

public class VerificationEtatScenarioNMCSelenium0115 {
private WebDriver driver;
private String baseUrl;
private boolean acceptNextAlert = true;
private StringBuffer verificationErrors = new StringBuffer();

@Before
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "https://newtest.erdf.fr/";
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
}

@Test
public void testVerificationEtatScenarioNMCSelenium0115() throws Exception {
driver.get(baseUrl + "/nmc/home.aspx");
driver.findElement(By.id("ctl00_contentPlaceHolder_dxLoginPopup_tbxLogin")).clear();
driver.findElement(By.id("ctl00_contentPlaceHolder_dxLoginPopup_tbxLogin")).sendKeys("qualif");
driver.findElement(By.id("ctl00_contentPlaceHolder_dxLoginPopup_tbxPassword")).clear();
driver.findElement(By.id("ctl00_contentPlaceHolder_dxLoginPopup_tbxPassword")).sendKeys("qualif");
driver.findElement(By.id("ctl00_contentPlaceHolder_dxLoginPopup_btnConnect")).click();
driver.findElement(By.id("ctl00_contentPlaceHolder_lvMenuItems_ctrl0_lnkLink")).click();
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try { if (isElementPresent(By.xpath("//a[@id='ctl00_contentPlaceHolder_treeOverviewn17']"))) break; } catch (Exception e) {}
Thread.sleep(1000);
}

driver.findElement(By.xpath("//a[@id='ctl00_contentPlaceHolder_treeOverviewn17']")).click();
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try { if (isElementPresent(By.xpath("//div[@id='ctl00_contentPlaceHolder_treeOverviewn17Nodes']/table[4]/tbody/tr/td[5]/a"))) break; } catch (Exception e) {}
Thread.sleep(1000);
}

driver.findElement(By.xpath("//div[@id='ctl00_contentPlaceHolder_treeOverviewn17Nodes']/table[4]/tbody/tr/td[5]/a")).click();
for (int second = 0;; second++) {
if (second >= 60) fail("timeout");
try { if (isElementPresent(By.xpath("//span[@id='ctl00_contentPlaceHolder_mainView_lblNumberOfRunsFailedValue']"))) break; } catch (Exception e) {}
Thread.sleep(1000);
}

try {
assertEquals("0", driver.findElement(By.xpath("//span[@id='ctl00_contentPlaceHolder_mainView_lblNumberOfRunsFailedValue']")).getText());
} catch (Error e) {
verificationErrors.append(e.toString());
}
}

@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}

private boolean isElementPresent(By by) {
try {
driver.findElement(by);
return true;
} catch (NoSuchElementException e) {
return false;
}
}

private boolean isAlertPresent() {
try {
driver.switchTo().alert();
return true;
} catch (NoAlertPresentException e) {
return false;
}
}

private String closeAlertAndGetItsText() {
try {
Alert alert = driver.switchTo().alert();
String alertText = alert.getText();
if (acceptNextAlert) {
alert.accept();
} else {
alert.dismiss();
}
return alertText;
} finally {
acceptNextAlert = true;
}
}
}
[/spoiler]
zogleheros
Messages : 3
Inscription : mer. juil. 01, 2015 1:21 pm

Pb pour convertir des fichiers Java

Message par zogleheros »

Edit : En remplaçant
public class "VerificationEtatScenarioNMCSelenium0115" et
public void "testVerificationEtatScenarioNMCSelenium0115"() throws Exception {

par "Verif" et "testVerif" ça ne marche pas non plus.
Avatar de l’utilisateur
bfranchet
Messages : 142
Inscription : jeu. nov. 22, 2012 1:36 pm

Pb pour convertir des fichiers Java

Message par bfranchet »

Bonjour,

Je ne croix pas que hamcrest fasse partie des librairies embarqués dans Squash-TA. Essayez de l'ajouter à vos dépendances (au même endroit que votre driver Oracle)
zogleheros
Messages : 3
Inscription : mer. juil. 01, 2015 1:21 pm

Pb pour convertir des fichiers Java

Message par zogleheros »

Bonjour,

En fait c'était un problème de jdk, j'utilisais par défaut un jre et non un jdk, et du coup ça plantait quand ca essayait de créer une instance de compilateur.
Répondre

Revenir à « Selenium Plugin »