RQM/Selenium fails with version xul24.0 not defined in file libxul.so with link time reference
I run RQM 4.0.3 on image4, which is a Linux RedHat 6.2 64bits.
I installed Selenium 2.37.0 on image5, which is a Linux RedHat 6.2 64bits with Firefox 3.6.24
I configured the selenium.properties with the classpath entries, as described in:
http://www.ibm.com/developerworks/rational/library/run-automated-selenium-junit-tests/index.html
The RQM adapter and selenium are using this JVM:
java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470sr5-20130619_01(SR5))
IBM J9 VM (build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References 20130617_152572 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR5_20130617_1436_B152572
JIT - r11.b04_20130528_38954ifx1
GC - R26_Java726_SR5_20130617_1436_B152572_CMPRSS
J9CL - 20130617_152572)
JCL - 20130616_01 based on Oracle 7u25-b12
I launch my TestCase and it fails with:
I forgot, this is the TestScript class:
package com.ibm.support.library.tests;
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 LibraryTest {
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 = "http://image5.example.com:9080/";
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
@Test
public void testLibrary() throws Exception {
driver.get(baseUrl + "/LibraryWeb/");
driver.findElement(By.id("link1")).click();
driver.findElement(By.id("link2")).click();
driver.findElement(By.id("link5")).click();
driver.findElement(By.id("link3")).click();
new Select(driver.findElement(By.id("form1:title1"))).selectByVisibleText("La Divina Commedia");
new Select(driver.findElement(By.id("form1:clientName1"))).selectByVisibleText("Simon Smith");
driver.findElement(By.id("form1:button1")).click();
driver.findElement(By.id("link6")).click();
driver.findElement(By.id("form1:button1")).click();
driver.findElement(By.id("link4")).click();
}
@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;
}
}
}
I installed Selenium 2.37.0 on image5, which is a Linux RedHat 6.2 64bits with Firefox 3.6.24
I configured the selenium.properties with the classpath entries, as described in:
http://www.ibm.com/developerworks/rational/library/run-automated-selenium-junit-tests/index.html
The RQM adapter and selenium are using this JVM:
java version "1.7.0"
Java(TM) SE Runtime Environment (build pxa6470sr5-20130619_01(SR5))
IBM J9 VM (build 2.6, JRE 1.7.0 Linux amd64-64 Compressed References 20130617_152572 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR5_20130617_1436_B152572
JIT - r11.b04_20130528_38954ifx1
GC - R26_Java726_SR5_20130617_1436_B152572_CMPRSS
J9CL - 20130617_152572)
JCL - 20130616_01 based on Oracle 7u25-b12
I launch my TestCase and it fails with:
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: *** EM_LOG *** Item Installed via directory addition to Install Location: app-global Item ID: {972ce4c6-7e08-4474-a285-3208198ce6fd}, attempting to register... *** EM_LOG *** Item Installed/Upgraded at Install Location: app-global Item ID: {972ce4c6-7e08-4474-a285-3208198ce6fd}, attempting to register... *** Blocklist::_loadBlocklistFromFile: blocklist is disabled *** EM_LOG *** ... success, item is compatible *** EM_LOG *** Item Installed via directory addition to Install Location: app-profile Item ID: fxdriver@googlecode.com, attempting to register... *** EM_LOG *** Item Installed/Upgraded at Install Location: app-profile Item ID: fxdriver@googlecode.com, attempting to register... *** EM_LOG *** ... success, item is compatible /usr/lib64/firefox-3.6/firefox: relocation error: /tmp/anonymous7909223498175187913webdriver-profile/extensions/fxdriver@googlecode.com/platform/Linux_x86_64-gcc3/components/libwebdriver-firefox-esr-latest.so: symbol _Znwm, version xul24.0 not defined in file libxul.so with link time reference at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:108) at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:250) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:197) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186) at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:99) at com.ibm.support.library.tests.LibraryTest.setUp(LibraryTest.java:20) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:76) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:607) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runners.Suite.runChild(Suite.java:127) at org.junit.runners.Suite.runChild(Suite.java:26) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.junit.runner.JUnitCore.run(JUnitCore.java:160) at org.junit.runner.JUnitCore.run(JUnitCore.java:138) at org.junit.runner.JUnitCore.run(JUnitCore.java:117) at com.ibm.rqm.adapter.commandline.JUnitLauncher.main(JUnitLauncher.java:116)Any suggestions?
I forgot, this is the TestScript class:
package com.ibm.support.library.tests;
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 LibraryTest {
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 = "http://image5.example.com:9080/";
driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
}
@Test
public void testLibrary() throws Exception {
driver.get(baseUrl + "/LibraryWeb/");
driver.findElement(By.id("link1")).click();
driver.findElement(By.id("link2")).click();
driver.findElement(By.id("link5")).click();
driver.findElement(By.id("link3")).click();
new Select(driver.findElement(By.id("form1:title1"))).selectByVisibleText("La Divina Commedia");
new Select(driver.findElement(By.id("form1:clientName1"))).selectByVisibleText("Simon Smith");
driver.findElement(By.id("form1:button1")).click();
driver.findElement(By.id("link6")).click();
driver.findElement(By.id("form1:button1")).click();
driver.findElement(By.id("link4")).click();
}
@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;
}
}
}