Selenium RC 1.0.1 support for Firefox 3.6 February 1, 2010
UPDATE: On Feb 23, 2010 Selenium RC 1.0.3 was released. With this release it now supports
- Firefox 3.6
- Snow Leopard
If you are looking for instructions to download and setup the latest Selenium RC release, look here.
ORIGINAL ARTICLE:
A lot of people are having trouble with selenium and firefox 3.6. Here I have described the steps to first ensure that the problem you are seeing is due to the lack of selenium’s support for your browser version and then steps to patch the selenium-server.jar to make it work with Firefox 3.6.
Testing Selenium server support for Firefox
The quickest way to test if your selenium server is supporting the Firefox version installed on your machine is to start selenium server in an interactive mode. Let us walk through these steps.
- Run Selenium server in interactive mode. To do this run the command:
java -jar selenium-server.jar -interactive -singleWindow - Start new selenium browser session using the command:
cmd=getNewBrowserSession&1=*firefox&2=http://www.google.com - If you see a line saying
Preparing Firefox profile...and no progress beyond that, there is a high likelihood that the Firefox browser version you have is not supported by your version of selenium server jar you have. If you have Firefox 3.6 and selenium 1.0.1, the next section shows how to fix the problem. - If you don’t see a problem, run the following command:
cmd=open&1=http://www.google.com
If the browser starts and you see Google’s home page in it, your basic setup seems to be fine.
Patching Selenium server to support Firefox 3.6
These steps should work for you on Unix, Mac or cygwin on windows. In case you are not using any of these, you would need to figure out the corresponding steps for our platform.
- Create a directory where you could manipulate the jar’s contents.
cd ~/selenium101 - Copy your selenium-server.jar file in the newly created directory and cd into it.
cp selenium-server.jar ~/selenium101/.
cd ~/selenium101 - Unzip the jar files contents here and delete the jar file.
unzip selenium-server.jar
rm selenium-server.jar - First find all the *.rdf files – you should see 5 of them:
find . -name "*.rdf"
./customProfileDirCUSTFF/extensions/{538F0036-F358-4f84-A764-89FB437166B4}/install.rdf
./customProfileDirCUSTFF/extensions/readystate@openqa.org/install.rdf
./customProfileDirCUSTFFCHROME/extensions/{503A0CD4-EDC8-489b-853B-19E0BAA8F0A4}/install.rdf
./customProfileDirCUSTFFCHROME/extensions/{538F0036-F358-4f84-A764-89FB437166B4}/install.rdf
./customProfileDirCUSTFFCHROME/extensions/readystate@openqa.org/install.rdf
- In each of these files you will see
<em:maxVersion>3.5.*</em:maxVersion>
Change them to
<em:maxVersion>3.6.*</em:maxVersion> - all the files are now patched. To jar them back up run the following steps:
zip -r selenium-server *
mv selenium-server.zip selenium-server.jar
Rerun the browser tests as described earlier. Selenium should now be able to instantiate a new browser and drive it.
Posted by Rahul Poonekar in : Selenium trackback
Great guide, but unfortunately this does not work on OSX Snow Leopard, not sure about other versions of OSX. I get the the following error
09:27:40.893 INFO – Preparing Firefox profile…
dyld: Library not loaded: /usr/lib/libsqlite3.dylib
Referenced from: /System/Library/Frameworks/Security.framework/Versions/A/Security
Reason: Incompatible library version: Security requires version 9.0.0 or later, but libsqlite3.dylib provides version 1.0.0
09:28:00.944 ERROR – Failed to start new browser session, shutdown browser and clear all session data
a workaround for this is to use a Firefox profile for selenium and add
extensions.checkCompatibility.3.6 (set to false) to about:config
take note that “3.6″ should be part of preference name. see:
http://kb.mozillazine.org/Extensions.checkCompatibility
Thanks for publishing this. It was quite helpful.
Thanks! This worked for me. I can run FF3.6 now.
If you want to create an executable jar like the original selenium-server.jar, run this command (make sure you are cd’d to the root where you unjarred) :
jar -cvfm selenium-server.jar META-INF/MANIFEST.MF *
Thanks a lot for your help. I was about to lost thinking that how can i now run selenium with ff3.6 but your suggestions worked magically. Thanks again.
Anyway, i did your steps with the help of 7zip software. Just opened the archive through it and modified the files that you noted in your post. and it worked. i didnt need any command
[...] So as a special bonus I fixed the file for Selenium-RC’s Selenium-Server-1.0.1. This is a small problem caused by the update to Firefox 3.6.*… the current (1.0.1) version of selenium server does a version check for Firefox 3.5.*. I offer the file itself because I don’t want to get into the how to of¬† breaking down and editing the jar file and then repacking it. (if you do look for 3.5.* in all the ff/chrome .rdf’s and change em to 3.6*) ala QAAutomation. [...]
Thank you! Works like a charm.