Class loading issue in Jubula in my RCP UAT [message #1222024] |
Thu, 19 December 2013 13:24 |
|
Hi All,
I would like to use Jubula with my RCP based product.
I've followed this tutorial (see www.rcp-vision.com/?p=1506&lang=en) and Eclipse documentation (for example).
I can see in my RCP product (About box>Installation Details>Plug-ins) that following plugins are deployed:
org.eclipse.jubula.rc.rcp
org.eclipse.jubula.rc.rcp.common
org.eclipse.jubula.rc.rcp.e4
org.eclipse.jubula.rc.rcp.e4.swt
org.eclipse.jubula.rc.rcp.swt
At RCP product startup (with autrun.exe) some messages related to logback/jubula.
Same issue occurs with RCP version 4.2.1 and 4.3.1.
Jubula version is 7.2 (2.2.0.201310100933).
In 'rc_rcp.log', I get the following error:
2013-12-19 12:15:07.512 [Connection.ReaderThread:Socket[addr=DIENB047.clear2pay.com/10.1.40.212,port=56311,localport=56312]] ERROR o.e.j.communication.Communicator - received message with unknown command
org.eclipse.jubula.communication.UnknownCommandException: creating an ICommand sharedInstance for org.eclipse.jubula.rc.common.commands.ConnectToClientCommand failed: Fail to load class named 'org.eclipse.jubula.rc.common.commands.ConnectToClientCommand'
at org.eclipse.jubula.communication.CommandFactory.createCommandObject(CommandFactory.java:82) ~[org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.Communicator.createCommand(Communicator.java:341) ~[org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.Communicator.access$3(Communicator.java:338) ~[org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.Communicator$ConnectionListener.received(Communicator.java:837) ~[org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.connection.Connection.fireMessageReceived(Connection.java:402) [org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.connection.Connection.access$2(Connection.java:391) [org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.connection.Connection$ReaderThread.run(Connection.java:454) [org.eclipse.jubula.communication.jar:na]
This error occur at time I press on the Camera Icon (Start Observation Mode) to record my Test Case.
While this class is located in the Jubula plugin (plugins\org.eclipse.jubula.rc.rcp_2.2.0.201310100933.jar\bundles\org.eclipse.jubula.rc.rcp.common_2.2.0.201310100933.jar\lib\org.eclipse.jubula.rc.common.jar\org\eclipse\jubula\rc\common\commands\ConnectToClientCommand.class).
Any hint about what is wrong?
Any help would be greatly appreciated.
[Updated on: Thu, 19 December 2013 13:26] Report message to a moderator
|
|
|
|
Re: Class loading issue in Jubula in my RCP UAT [message #1228586 is a reply to message #1228075] |
Tue, 07 January 2014 14:53 |
|
hi Alex,
Quote:- Does the error result in you not being able to record?
Due to that error I fail to record.
Quote:- can you perform object mapping in the AUT without a problem?
The very same error occur when I click on "Start Object Mapping mode" while running the AUT started with autrun (and the AUT Agent running).
Quote:- if you follow the "First Steps" cheat sheet (Help-Cheat Sheets), can you get the test to run?
I've run successfully the test based on Swing AUT - SimpleAdder.
I've tried with my own RCP application with a very basic test for which no object mapping/recording is required (i.e. only ub_app_checkExistenceOfWindow followed by up_app_activate_AUTDefault) and it results in very same error:
Quote:
2014-01-07 15:12:01.880 [Connection.ReaderThread:Socket[addr=DIENB047.clear2pay.com/10.1.40.198,port=61749,localport=61750]] ERROR o.e.j.communication.Communicator - received message with unknown command
org.eclipse.jubula.communication.UnknownCommandException: creating an ICommand sharedInstance for org.eclipse.jubula.rc.common.commands.ConnectToClientCommand failed: Fail to load class named 'org.eclipse.jubula.rc.common.commands.ConnectToClientCommand'
at org.eclipse.jubula.communication.CommandFactory.createCommandObject(CommandFactory.java:82) ~[org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.Communicator.createCommand(Communicator.java:341) ~[org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.Communicator.access$3(Communicator.java:338) ~[org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.Communicator$ConnectionListener.received(Communicator.java:837) ~[org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.connection.Connection.fireMessageReceived(Connection.java:402) [org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.connection.Connection.access$2(Connection.java:391) [org.eclipse.jubula.communication.jar:na]
at org.eclipse.jubula.communication.connection.Connection$ReaderThread.run(Connection.java:454) [org.eclipse.jubula.communication.jar:na]
I have to mention that we are setting a custom classloader with #setContextClassLoader(). This classloader is a custom implementation (which can load some resources/classes from a database) that is instanciated with a parent classloader that has loaded my main plugin activator class.
=> This might result in classloading issue since I noticed in 'org.eclipse.jubula.communication.CommandFactory':
Quote:
if (this.m_classLoader != null) {
commandClass = this.m_classLoader.loadClass(commandClassName);
} else {
commandClass = Class.forName(commandClassName);
}
Thank you for your help.
|
|
|
|
Powered by
FUDForum. Page generated in 0.03293 seconds