# This patch file was generated by NetBeans IDE
# Following Index: paths are relative to: /usr/local/java/projects/nb.org/main-golden/contrib
# This patch can be applied using context Tools: Patch action on respective folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: selenium.server/src/org/netbeans/modules/selenium/server/Bundle.properties
--- selenium.server/src/org/netbeans/modules/selenium/server/Bundle.properties Base (BASE)
+++ selenium.server/src/org/netbeans/modules/selenium/server/Bundle.properties Locally Modified (Based On LOCAL)
@@ -18,3 +18,10 @@
displayName_Startup=Start on NetBeans startup
desc_Startup=start server on NetBeans startup or not. Note \
that server must be running to run Selenium tests correctly.
+
+displayName_FirefoxProfile=Firefox Profile
+desc_FirefoxProfile=The profile directory for Firefox
+
+displayName_SingleWindow=Single Window
+desc_SingleWindow=Should the browser started by selenium server use
\
+multiple frames in a single window or multiple windows.
\ No newline at end of file
Index: selenium.server/src/org/netbeans/modules/selenium/server/SeleniumProperties.java
--- selenium.server/src/org/netbeans/modules/selenium/server/SeleniumProperties.java Base (BASE)
+++ selenium.server/src/org/netbeans/modules/selenium/server/SeleniumProperties.java Locally Modified (Based On LOCAL)
@@ -64,6 +64,8 @@
public static int seleniumDefaultPort = -1;
public static final String PORT = "Port";
public static final String START_ON_STARTUP = "Startup";
+ public static final String FIREFOX_PROFILE = "FirefoxProfile";
+ public static final String SINGLE_WINDOW = "SingleWindow";
private static InstanceProperties instanceProps;
private static final String NAMESPACE = "Selenium server properties namespace"; //NOI18N
@@ -73,6 +75,8 @@
Set set = sheet.get(Sheet.PROPERTIES);
set.put(new ServerIntProperty(PORT, props));
set.put(new ServerBoolProperty(START_ON_STARTUP, props));
+ set.put(new ServerStringProperty(FIREFOX_PROFILE, props));
+ set.put(new ServerBoolProperty(SINGLE_WINDOW, props));
return sheet;
}
@@ -114,6 +118,8 @@
instanceProps = manager.createProperties(NAMESPACE);
instanceProps.putInt(PORT, getSeleniumDefaultPort());
instanceProps.putBoolean(START_ON_STARTUP, true);
+ instanceProps.putString(FIREFOX_PROFILE , "");
+ instanceProps.putBoolean(SINGLE_WINDOW , false);
allProps.add(instanceProps);
}
}
@@ -161,8 +167,26 @@
}
+ private static final class ServerStringProperty extends ServerProperty {
+ public ServerStringProperty(String propertyName, InstanceProperties props) {
+ super(String.class, propertyName, props);
+ }
+ @Override
+ public String getValue() throws IllegalAccessException, InvocationTargetException {
+ return props.getString(getName(), "");
+ }
+
+ @Override
+ protected void writeNewValue(String val) {
+ props.putString(getName(), val);
+ }
+
+ }
+
+
+
private static abstract class ServerProperty extends Node.Property{
protected InstanceProperties props;
Index: selenium.server/src/org/netbeans/modules/selenium/server/SeleniumServerRunner.java
--- selenium.server/src/org/netbeans/modules/selenium/server/SeleniumServerRunner.java Base (BASE)
+++ selenium.server/src/org/netbeans/modules/selenium/server/SeleniumServerRunner.java Locally Modified (Based On LOCAL)
@@ -42,6 +42,7 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.io.File;
import java.lang.reflect.InvocationTargetException;
import java.net.BindException;
import java.net.MalformedURLException;
@@ -192,6 +193,21 @@
SeleniumProperties.getSeleniumDefaultPort()); //NOI18N
remoteControlConfiguration.getMethod("setPort", int.class).invoke(
remoteControlConfigurationInstance, port); //NOI18N
+ boolean runInSingleWindow = ip.getBoolean(
+ SeleniumProperties.SINGLE_WINDOW,
+ false); //NOI18N
+ remoteControlConfiguration.getMethod("setSingleWindow", boolean.class).invoke(
+ remoteControlConfigurationInstance, runInSingleWindow); //NOI18N
+ String firefoxProfileDir = ip.getString(
+ SeleniumProperties.FIREFOX_PROFILE,
+ "");
+ if (!"".equals(firefoxProfileDir)) {
+ File ffProfileDir = new File(firefoxProfileDir);
+ if (ffProfileDir.exists()) {
+ remoteControlConfiguration.getMethod("setFirefoxProfileTemplate", File.class).invoke(
+ remoteControlConfigurationInstance, ffProfileDir); //NOI18N
+ }
+ }
server = seleniumServer.getConstructor(remoteControlConfiguration).
newInstance(remoteControlConfigurationInstance);
}