I'm a bit confused, you're running Linux but you're using cygwin? I thought cygwin was only for Windows...Are you running marathon across the network from a Linux server to your Windows desktop? I guess that would work, though I'm not sure why you would want to do it that way.
Anyway, I use the standard X server shipped with Ubuntu (X.Org). You can also try testing with Xvfb (though you won't _see_ anything happen, since it is virtual). I run Xvfb for most of my tests so I can continue to work on my desktop while the tests run.
--
Jason
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
We are also seeing issues while trying to run on linux, RHEL4 to be more specific. The error generated while running ./marathon is:
Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: com.jgoodies.looks.LookUtils
at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
at net.sourceforge.marathon.util.OSUtils.setLookAndFeel() (Unknown Source)
at net.sourceforge.marathon.Main.main(java.lang.String[]) (Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.swing.plaf.metal.DefaultMetalTheme not found in [file:/marathon/patch.jar, file:/marathon/marathon.jar, file:/marathon/Support/, file:/marathon/Support/jaccess-1.3/jaccess.jar, file:/marathon/Support/junit3.8.2/junit.jar, file:/marathon/Support/jython-2.2/jython.jar, file:/marathon/Support/looks-2.0.4/looks-2.0.4.jar, file:/marathon/Support/forms-1.0.7/forms-1.0.7.jar, file:/marathon/Support/rmi-lite.jar, file:/marathon/Support/scope-1.0.1.jar, file:/marathon/Support/selfesteem-applet.jar, file:/marathon/Support/selfesteem.jar, file:/marathon/Support/vldocking_2.1.1.jar, file:/usr/share/java/libgcj-3.4.6.jar, file:./, core:/]
at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib/libgcj.so.5.0.0)
at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
at _Jv_ClassReader.handleClassBegin(int, int, int) (/usr/lib/libgcj.so.5.0.0)
at _Jv_ClassReader.parse() (/usr/lib/libgcj.so.5.0.0)
at _Jv_DefineClass(java.lang.Class, byte[], int, int) (/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.defineClass(java.lang.ClassLoader, java.lang.String, byte[], int, int, java.security.ProtectionDomain) (/usr/lib/libgcj.so.5.0.0)
at java.lang.ClassLoader.defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain) (/usr/lib/libgcj.so.5.0.0)
at java.security.SecureClassLoader.defineClass(java.lang.String, byte[], int, int, java.security.CodeSource) (/usr/lib/libgcj.so.5.0.0)
at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib/libgcj.so.5.0.0)
at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
at _Jv_FindClassFromSignature(byte, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
at _Jv_BytecodeVerifier.pop_init_ref(_Jv_BytecodeVerifier.type) (/usr/lib/libgcj.so.5.0.0)
at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/libgcj.so.5.0.0)
at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
...4 more
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It looks to me like your primary problem is that you're running marathon using the GCJ open source java alternative. You probably want to install a proper JRE from Sun for your platform.
HTH
--
Jason
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Has anyone tried running marathon on linux ?
I am facing following issue
I have following code
Select('datefieldText','A')
Select('someotherfield','B')
Select('datefieldText','B')
When i run it is it seem that A does not get replace for with B but it kind of append it ..
I believe it has to do something with selectText api and i believe this should be minor fix ...does anyone knows what fix is
I see following code in marathon MTextComponent
Can anyone confirm if this has to do with char 13 or something else
public void setText(String text, boolean isCellEditing) {
new FireableMouseClickEvent(getTextComponent()).fire(2);
swingWait();
selectAllText();
swingWait();
FireableKeyEvent keyEvent = new FireableKeyEvent(getTextComponent(), 0);
if (text.length() > 0) {
keyEvent.fire(text);
} else {
keyEvent.fire(KeyEvent.VK_DELETE, KeyEvent.CHAR_UNDEFINED);
}
swingWait();
if (isCellEditing)
keyEvent.fire(KeyEvent.VK_ENTER, (char) 13);
swingWait();
The last version of Marathon that is tested on Linux (Ubuntu) was 1.0.6. Recent releases have been tested only on Mac/Windows.
Can you check whether manually running the keystrokes on the application does what is expected?
-- KD
Just for reference, I ran the full marathon unit tests for 1.1.2 on my Linux machine (Ubuntu 7.04), everything appears to work fine:
unittest:
[junit] Running net.sourceforge.marathon.AllTests
[junit] Testsuite: net.sourceforge.marathon.AllTests
[junit] Tests run: 388, Failures: 0, Errors: 0, Time elapsed: 270.16 sec
[junit] Tests run: 388, Failures: 0, Errors: 0, Time elapsed: 270.16 sec
--
Jason
Let me download 1.1.2 and try .
Will it has to do something with X server i am using .I am using cygwin x server for client .
what window do you use to run on linux ?
M
I'm a bit confused, you're running Linux but you're using cygwin? I thought cygwin was only for Windows...Are you running marathon across the network from a Linux server to your Windows desktop? I guess that would work, though I'm not sure why you would want to do it that way.
Anyway, I use the standard X server shipped with Ubuntu (X.Org). You can also try testing with Xvfb (though you won't _see_ anything happen, since it is virtual). I run Xvfb for most of my tests so I can continue to work on my desktop while the tests run.
--
Jason
Hmm... are you using the cygwin in full screen mode? It should work as all the keystrokes/mouse clicks are passed raw to the X clients.
On an aside, nice to hear someone using cygwin xserver. I modified Xvfb to create Xwin. That's long time back.
-- KD
We are also seeing issues while trying to run on linux, RHEL4 to be more specific. The error generated while running ./marathon is:
Exception in thread "main" java.lang.NoClassDefFoundError: while resolving class: com.jgoodies.looks.LookUtils
at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
at java.lang.Class.initializeClass() (/usr/lib/libgcj.so.5.0.0)
at _Jv_ResolvePoolEntry(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
at net.sourceforge.marathon.util.OSUtils.setLookAndFeel() (Unknown Source)
at net.sourceforge.marathon.Main.main(java.lang.String[]) (Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.swing.plaf.metal.DefaultMetalTheme not found in [file:/marathon/patch.jar, file:/marathon/marathon.jar, file:/marathon/Support/, file:/marathon/Support/jaccess-1.3/jaccess.jar, file:/marathon/Support/junit3.8.2/junit.jar, file:/marathon/Support/jython-2.2/jython.jar, file:/marathon/Support/looks-2.0.4/looks-2.0.4.jar, file:/marathon/Support/forms-1.0.7/forms-1.0.7.jar, file:/marathon/Support/rmi-lite.jar, file:/marathon/Support/scope-1.0.1.jar, file:/marathon/Support/selfesteem-applet.jar, file:/marathon/Support/selfesteem.jar, file:/marathon/Support/vldocking_2.1.1.jar, file:/usr/share/java/libgcj-3.4.6.jar, file:./, core:/]
at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib/libgcj.so.5.0.0)
at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
at _Jv_ClassReader.handleClassBegin(int, int, int) (/usr/lib/libgcj.so.5.0.0)
at _Jv_ClassReader.parse() (/usr/lib/libgcj.so.5.0.0)
at _Jv_DefineClass(java.lang.Class, byte[], int, int) (/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.defineClass(java.lang.ClassLoader, java.lang.String, byte[], int, int, java.security.ProtectionDomain) (/usr/lib/libgcj.so.5.0.0)
at java.lang.ClassLoader.defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain) (/usr/lib/libgcj.so.5.0.0)
at java.security.SecureClassLoader.defineClass(java.lang.String, byte[], int, int, java.security.CodeSource) (/usr/lib/libgcj.so.5.0.0)
at java.net.URLClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at gnu.gcj.runtime.VMClassLoader.findClass(java.lang.String) (/usr/lib/libgcj.so.5.0.0)
at java.lang.ClassLoader.loadClass(java.lang.String, boolean) (/usr/lib/libgcj.so.5.0.0)
at _Jv_FindClass(_Jv_Utf8Const, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
at _Jv_FindClassFromSignature(byte, java.lang.ClassLoader) (/usr/lib/libgcj.so.5.0.0)
at _Jv_BytecodeVerifier.pop_init_ref(_Jv_BytecodeVerifier.type) (/usr/lib/libgcj.so.5.0.0)
at _Jv_BytecodeVerifier.verify_instructions_0() (/usr/lib/libgcj.so.5.0.0)
at _Jv_VerifyMethod(_Jv_InterpMethod) (/usr/lib/libgcj.so.5.0.0)
at _Jv_PrepareClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
at _Jv_WaitForState(java.lang.Class, int) (/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib/libgcj.so.5.0.0)
...4 more
It looks to me like your primary problem is that you're running marathon using the GCJ open source java alternative. You probably want to install a proper JRE from Sun for your platform.
HTH
--
Jason
How to run marathon in batch mode in linux..?
command to run marthaon test suite in batch mode on linux terminal...?
Please refer the following link for execution of test cases in batch mode. This link is for MarathonITE but instead you use marathon and run command.
https://marathontesting.com/marathonite-user-guide/executing-tests-in-batch-mode/
will marathon works on mac OS..?
Yes. Marathon works on Windows, Linux and macOS.