xebia / Xebium

Xebium provides Selenium (webdriver) bindings for FitNesse, with Selenium-IDE support
http://xebia.github.com/Xebium/
Apache License 2.0
76 stars 62 forks source link

Can Xebium run Java Scripts compiled in 1.7 (OS X)? #110

Open sam4adams opened 10 years ago

sam4adams commented 10 years ago

Hello, I've had exception errors in Xebium (via Fitnesse) when trying to run Java Scripts compiled in 1.7 (OS X). However after recompiling the project and appropriate jar files to 1.6 Xebium is able to run the Java Scripts fine. Is there a reason for this? If so, why and is there any ETA on when Xebium will be upgraded? If Xebium is able to run scripts in 1.7 let me know what I need to change to make this happen. Thanks.

raboof commented 10 years ago

I'm not entirely sure what you mean by "Java Scripts", but I presume you mean SLIM fixtures.

If so, this is a problem with the way you're using FitNesse, not really related to Xebium.

FitNesse will load any jars that are supported by the JVM you're using to start the SLIM service. I expect you have a a Java 6 JVM on the PATH.

Can you put your Java 7 JVM on the PATH? Does that help?

Kind regards,

Arnout

sam4adams commented 10 years ago

Thanks Arnout, Forgive me, i'm still somewhat new to Java and our company just transitioned over to OS X. How would I confirm which JVM is being used on the PATH?

raboof commented 10 years ago

I'm not familiar with OS X myself, but I presume you could open a terminal and run 'java -version'.

sam4adams commented 10 years ago

Ah, yes I did try that sometime ago on Terminal. I currently have 1.7.0_45. Having said that I still got the Exception error till I recompiled my Java Project to 1.6

raboof commented 10 years ago

How are you starting FitNesse? After running a test, what does the errorlog (under 'Captured output' or 'Errors occurred') show, in particular the start of the 'command' section?

sam4adams commented 10 years ago

Apologize for the delay. I am starting it with the "mvn -Pfitnesse test" command in terminal. This is the output from that(see below for exception error): SADAMS-12253m:~ sadams$ cd Desktop/Fitnesse/ SADAMS-12253m:Fitnesse sadams$ mvn -Pfitnesse test [INFO] Scanning for projects... [INFO]
[INFO] ------------------------------------------------------------------------ [INFO] Building Xebium 0.12-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ xebium --- [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ xebium --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /Users/sadams/Desktop/Fitnesse/src/main/resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ xebium --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ xebium --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 3 resources [INFO] [INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ xebium --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ xebium --- [INFO] Surefire report directory: /Users/sadams/Desktop/Fitnesse/target/surefire-reports


T E S T S

Running com.xebia.fitnesse.selenium.JavascriptTestCase Tests run: 45, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.838 sec Running com.xebia.incubator.xebium.ExtendedSeleniumCommandTest Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 sec Running com.xebia.incubator.xebium.FitNesseUtilTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec Running com.xebia.incubator.xebium.RemoteWebDriverBuilderTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 sec Running com.xebia.incubator.xebium.SeleneseScriptFixtureTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 sec Running com.xebia.incubator.xebium.SeleniumDriverFixtureIntegrationTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0 sec Running com.xebia.incubator.xebium.SeleniumDriverFixtureTest 1778 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1791 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifyTextPresent | foo | 1792 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'isTextPresent' returned 'true' => ok 1794 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1795 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Obtain result from | isTextPresent | foo | 1796 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1796 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifyTextNotPresent | foo | 1796 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'isTextPresent' returned 'false' => ok 1797 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1797 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Obtain result from | isTextNotPresent | foo | 1798 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1800 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifyText | //_[@id='masthead']/div/h1 | regexp:.Het laatste nieuws het eerst op nu.nl | 1800 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'getText' returned 'Di 9 november 2010. Het laatste nieuws het eerst op nu.nl' => ok 1801 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1802 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifyNotText | //[@id='masthead']/div/h1 | regexp:._Het laatste nieuws het eerst op nu.nl | 1802 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'getText' returned 'Di 9 november 2010. Het laatste nieuws het eerst op nu.nl' => not ok, expected 'regexp:.Het laatste nieuws het eerst op nu.nl' 1803 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1803 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifyText | //[@id='masthead']/div/h1 | Het laatste nieuws het eerst op nu.nl | 1804 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'getText' returned 'Di 9 november 2010. Het laatste nieuws het eerst op nu.nl' => ok 1804 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1805 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifySelectOptions | //foo | Suite,Test,Normal | 1805 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'getSelectOptions' returned 'Suite,Test,Normal' => ok 1806 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1806 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Add alias: 'laatsteNieuws' for 'Het laatste nieuws het eerst op nu.nl' 1806 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifyText | //[@id='masthead']/div/h1 | %laatsteNieuws | 1806 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Expanded alias 'laatsteNieuws' to '%laatsteNieuws' 1807 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'getText' returned 'Het laatste nieuws het eerst op nu.nl' => ok 1807 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1808 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifyText | //[@id='masthead']/div/h1 | %foo | 1808 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'getText' returned '%foo' => ok 1809 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Started new command processor (timeout: 30000ms, step delay: 0ms, poll interval: 100ms) 1809 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Performing | verifyText | //[@id='masthead']/div/h1 | % | 1809 [main] INFO com.xebia.incubator.xebium.SeleniumDriverFixture - Command 'getText' returned '%' => ok Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.144 sec Running com.xebia.incubator.xebium.WebDriverTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.001 sec

Results :

Tests run: 86, Failures: 0, Errors: 0, Skipped: 7

[INFO] [INFO] --- maven-antrun-plugin:1.6:run (start-fitnesse) @ xebium --- [WARNING] Parameter tasks is deprecated, use target instead [INFO] Executing tasks

main: [fitnesse] Starting FitNesse 20130530... (Selenium 2.38.0) [java] FitNesse (v20130530) Started... [java] port: 8000 [java] root page: fitnesse.wiki.FileSystemPage at ./FitNesseRoot [java] logger: none [java] authenticator: fitnesse.authentication.PromiscuousAuthenticator [java] page factory: fitnesse.responders.PageFactory [java] page theme: bootstrap [java] page version expiration set to 0 days. [java] Custom symbol types loaded: [java] fitnesse.wikitext.widgets.MavenClasspathSymbolType

----------The error message that occurs when ran is: screen shot 2014-01-09 at 12 25 00 pm

-----Again, once the project and associated jar files are downgraded to 1.6 everything works fine. Hence my question ;) Thanks for all your help btw.

raboof commented 10 years ago

What does the errorlog (under 'Captured output') show, in particular the start of the 'command' section?

I'd expect that to start with 'java -cp', but let's validate that before making assumptions.