Skip to main content



      Home
Home » Eclipse Projects » SWTBot » StartupRecorder.openRecorder fails with NPE(StartupRecorder.openRecorder fails with NPE)
StartupRecorder.openRecorder fails with NPE [message #1766104] Thu, 15 June 2017 13:49 Go to next message
Eclipse UserFriend
I am trying to record my application so I can test it.
I am using
Version: Neon.3 Release (4.6.3) Build id: 20170314-1500
jdk1.8.0_101

I added
org.eclipse.swtbot.generator.ui.StartupRecorder.openRecorder("small Sample");


and it fails with

Exception in thread "main" java.lang.NullPointerException
at org.eclipse.swtbot.generator.ui.GeneratorExtensionPointManager.loadGenerators(GeneratorExtensionPointManager.java:32)
at org.eclipse.swtbot.generator.ui.StartupRecorder$StartRecorderRunnable.run(StartupRecorder.java:57)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:233)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:4821)
at org.eclipse.swtbot.generator.ui.StartupRecorder.openRecorder(StartupRecorder.java:122)
at com.small.Sample.main(Sample.java:66)

I have a very small example (error messages are from example) that replicates this. I am sure I am doing something simple incorrectly.

my .classpath is
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="src"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.swt.win32.win32.x86_3.105.3.v20170228-0512.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.swt_3.105.3.v20170228-0512.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.swtbot.generator.jdt_2.5.0.201609021837.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.swtbot.generator.rules.workbench_2.5.0.201609021837.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.swtbot.generator.ui_2.5.0.201609021837.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.swtbot.generator_2.5.0.201609021837.jar" sourcepath="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.swtbot.generator.source_2.5.0.201609021837.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.ui.win32_3.3.0.v20160505-1310.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.ui.workbench_3.108.3.v20170216-1539.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.core.runtime_3.12.0.v20160606-1342.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.core.contenttype.source_3.5.100.v20160418-1621.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.core.resources.win32.x86_3.5.100.v20140124-1940.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.core.resources_3.11.1.v20161107-2032.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.equinox.common_3.8.0.v20160509-1230.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.jface_3.12.2.v20170113-2113.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.osgi_3.11.3.v20170209-1843.jar"/>
	<classpathentry kind="lib" path="C:/eclipse-java-neon-2-win32/eclipse/plugins/org.eclipse.equinox.registry_3.6.100.v20160223-2218.jar"/>
	<classpathentry kind="output" path="bin"/>
</classpath>
Re: StartupRecorder.openRecorder fails with NPE [message #1766154 is a reply to message #1766104] Fri, 16 June 2017 10:15 Go to previous messageGo to next message
Eclipse UserFriend
Hi Keith,

I can reproduce your problem.

The error occurs because the platform's RegistryProviderFactory has not been initialized.

Even though you are including some of the necessary platform plug-ins, the platform itself is not being initialized. Is your application an Eclipse application?

If it is not, then I believe you cannot use the SWTBot Generator to test your application as the generator requires the Eclipse platform.

Patrick
Re: StartupRecorder.openRecorder fails with NPE [message #1766157 is a reply to message #1766154] Fri, 16 June 2017 11:04 Go to previous messageGo to next message
Eclipse UserFriend
Yes, it is an eclipse application What am I missing?
Re: StartupRecorder.openRecorder fails with NPE [message #1766158 is a reply to message #1766157] Fri, 16 June 2017 11:35 Go to previous messageGo to next message
Eclipse UserFriend
If you are running from Eclipse, make sure that your Run Configuration's Main tab uses Program to Run: org.eclipse.platform.ide (product) or org.eclipse.ui.ide.workbench (application) or if your application is an RCP, its application id.

If you are running with Maven, make sure your pom.xml has the necessary elements, this might help: https://wiki.eclipse.org/SWTBot/Automate_test_execution#On_a_plugin_project_project_with_Maven_and_Tycho
Re: StartupRecorder.openRecorder fails with NPE [message #1766387 is a reply to message #1766158] Tue, 20 June 2017 16:57 Go to previous messageGo to next message
Eclipse UserFriend
I am confused. I can't get either of those to work as a Java (or Eclipse) Application (so maybe that's wrong).
I thought the whole point of
org.eclipse.swtbot.generator.ui.StartupRecorder.openRecorder("small Sample");

was to have a button or menu item that you could press in a normal Java application that would start the recorder.

I have a Java Application that I am trying to record.
I am trying (and failing) to follow the instructions on https://wiki.eclipse.org/SWTBot/Generator
Re: StartupRecorder.openRecorder fails with NPE [message #1766917 is a reply to message #1766387] Wed, 28 June 2017 13:21 Go to previous message
Eclipse UserFriend
Hi Keith,

The parameter to pass in StartupRecorder.openRecorder(String) is the dialog ID of the SWTBot Recorder dialog to open, e.g. one of:

"org.eclipse.swtbot.generator.dialog.basic" (default)
"org.eclipse.swtbot.generator.dialog.jdt"

Or pass null or empty string to open the default (that can also be set in "org.eclipse.swtbot.generator.dialog" system property).

I'll update the wiki.

Patrick
Previous Topic:SWTBOT Spy View
Next Topic:More wait conditions
Goto Forum:
  


Current Time: Mon May 12 16:01:27 EDT 2025

Powered by FUDForum. Page generated in 0.04631 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top