Schlagwort-Archive: Firepath

Performance test of integrated FirePath

I did a basic performance test for my favorite test-automation workflow with an integrated FirePath. I distinguished two phases: duration to start the Firefox Browser and duration for executing a very typical testprogram against a common website. And here are my results:
performanceTest FirePath
The starting of a WebDriver-driven Firefox with an integrated FirePath costs in average about 20 seconds more than the starting of a “naked” Firefox. In contrast the execution of the typical testprogram doesn’t show a significant difference in velocity. The few seconds difference are maybe caused by performance differences by the webserver of the tested website, anyhow not significant …
To say it very clear: 20 seconds more in the starting phase is nothing compared to the time we spend to navigate a different Firefox (not the driven Firefox) until we finally reach the point of disturbance and finally start to debug the xPath there. So enhance your test-automation workflow with an integrated FirePath!

Better test-automation workflow with integrated FirePath

I appreciate the power of FirePath for coping with xPaths (compare XPath extensions for Chrome), so I like to have it debug-ready on the Firefox which I’m currently “driving” while creating my testprograms. My ideal test-automation workflow: I set a breakpoint beside a suspicious line of code in my IDE, then I start the testprogram, the Firefox rises, I watch it clicking, typing, … and then the testprogram stops at my breakpoint. Many times a bad xPath is responsible for troubles, so now I like to rise the great FirePath on the halted Firefox and start debugging the bad xPath:
And here we go:
Finding the proper combination of the versions of Selenium-Server, Firefox, Firebug (required for Firepath) and Firepath can be a nightmare. I’m heavily missing an official table regarding the version of Selenium-Server and its supported browser versions. After some hours, I found one of these working combinations:
* selenium-server 2.34.0
* Firefox 25
* Firebug 1.12.8b1
* FirePath
Download Firefox, Firebug and FirePath in a separate folder to clearly separate them from your current Firefox instance. You can then explicitly start them by code (this example in Java):

FirefoxBinary firefoxBinary = new FirefoxBinary(new File("C:\\Users\\michael\\Firefox v25\\firefox.exe"));
FirefoxProfile profile = new FirefoxProfile();
String pathToFirebugExtension = "C:\\Users\\michael\\Firefox v25 Extensions\\firebug-1.12.8b1-fx.xpi";
profile.addExtension(new File(pathToFirebugExtension));
String pathToFirepathExtension = "C:\\Users\\michael\\Firefox v25 Extensions\\firepath-";
profile.addExtension(new File(pathToFirepathExtension));
WebDriver driver = new FirefoxDriver(firefoxBinary, profile);

Then, when the Firefox stops at the breakpoint, you can press F12 (to open FireBug), click on the tab FirePath and start debugging the suspicious xPath.
My next article analyses the performance of the Firefox with the FirePath on his back: