Selenium and self-signed SSL Certificates in Firefox [java / linux]

AAAARRGGHHHHHH!!!!!!!!….. Finally, I’ve managed to solve my problem with self-signed certificates in FF and Selenium.

I think I spend three days trying various methods, following tutorials and ‘hacking’ through the selenium source code, etc.
Maybe it’d take someone much less time than me, but what’s done is done, and let’s get crackin’ 🙂

A. Follow Girlie’s tutorial to create customized Firefox profile with few changes:

  1. in step no. 7 – remember not to use spaces in forlder names
  2. skip steps no. 11 & 12
  3. [OPTIONAL STEP] Configure FF according to Girlie’s suggestions
  4. Once you’re done with creating custom profile, go to the HTTPS site which troubles you with an invalid security certificate. Use “Add exception” button to add security exception.
  5. Close FF

B. Go to your FF custom profile folder (see A.1)

  1. If you skipped step A.3, then remove all files and folders except: cert8.db, cert_override.txt, key3.db
  2. If you followed Girlie’s suggestions in step A.3, then you can remove all files and folders except:
    • cert8.db, cert_override.txt, content-prefs.sqlite, key3.db, localstore.rdf, permissions.sqlite, prefs.js, secmod.db, XPC.mfasl, xpti.dat, XUL.mfasl
    • More information about contents of FF profile folder at: http://kb.mozillazine.org/Profile_folder_-_Firefox

C. Open your selenium project and add some new code:

private static Selenium selenium = new DefaultSelenium(String serverHost, int serverPort, String browserStartCommand, String browserURL);
private static SeleniumServer seleniumServer;
seleniumServer = new SeleniumServer();


/* 
* And here are the DRAGONS!!
* Short description:
* start with preparing new RemoteControlConfiguration and profile location
* then, change some default settings
* start selenium server
* and finally pass new configuration to Selenium 
*/

RemoteControlConfiguration rcc = seleniumServer.getConfiguration();
File profileLocation = new File("/path/to/your/custom/FF/profile");
rcc.setProfilesLocation(profileLocation);
rcc.setFirefoxProfileTemplate(profileLocation);
rcc.setReuseBrowserSessions(true);
seleniumServer.start();
selenium.start(rcc);

Hope this this work also for you.
J

c0re Magazine – free mag about: software testing, software quality, process quality

c0re mag is a quite new magazine about testing, but it doesn’t mean that it’s not a professional one.
First issue in Polish was published on May and in English last October.

Quote from magazine home-site:

We are a new magazine for Testers and IT Experts. Our aim is to create a free magazine for all people interested in the field of Software Quality.

More info at:
http://www.coremag.eu/
http://twitter.com/c0remag

ps. if you like the mag, please spread the word ! 🙂

Robot attack!!!!!!! A short story about two test tools

I’ve just found out about two tools that can be really helpful for web testers.

According to authors:

Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD).

You can find more about Robot Framework at:
http://code.google.com/p/robotframework/wiki/IntroductionSlides

and about RIDE = Robot framework Integrated Development Environment (a Robot editor) at:
http://code.google.com/p/robotframework-ride/

RIDE - Robot IDE

DNS Benchmark – a helpful tool agains DNS cache poisoning / DNS Spoofability

If you’re interested in hardening your network configuration, try DNS Benchmark:
https://www.grc.com/dns/benchmark.htm

This tool can check if DNS server(s) you’re using provides ways to prevent such attack.
You can read more about this matter in latest security mag (currently only in Polish 🙂
http://securitymag.pl/cisco-asa-5505-podstawy-konfiguracji-042011/

DNS Benchmark