Bon Voyage through Fennec – My first front-end test.


So, I got selected to be a part of Google Summer of Code for the proposal of adding new automated tests to the Fennec front end. Now what? Implementation!

For getting this done, I would need to download the Fennec version and it’s tests. Fennec is a mobile browser, so I’ve to download that which can be run in Linux. I got both of them from the link

Next thing I did was to play around with the cool mobile browser that is Fennec (Can’t wait to get my hands on a device that will run this!). Since I played with Firefox tests before, I knew the basic idea of running these tests.

The tests would generally involve creating javascript codes to test the various parts of Fennec for any discrepancies. My job would be to create such js codes to automate testing on 4 features – Preferences, Awesome bar, Download manager and zooming/panning. This is actually browser-tests in Mochitest. Tests on bookmarks and viewport was already done.

These js scripts will parse the xul interface of Fennec to get the job done. One way to know which all would be the part I must play with is checking out the xul file itself. But it’s a tedious job of finding the stuff that one wants. So it’s better to do it using a DOM inspector similar to Firefox’s.

To install the DOM inspector, I took the suggestion from my mentor (Joel Maher). Once the DOM inspector is installed, I would open it (ctrl+shift+I) and then select “Inspect Chrome Document” to get the Fennec’s xul file in much more readable format. This helps me identify which all parts of the UI comes under what code.

With this I was able to create a dummy test, that is to open the preferences button, getting into the preferences container and then get back to the normal web page. It took some time for me to figure out, but it worked fine in the end! Delighted that I got it running.

So the next aim would be to create 5-7 tests and then submit it for review, as my mentor said. Finding it a bit tricky in going about things, but there will indeed be a way out. Definitely going to put the tests on Preferences by this month end!

So this is the first of my posts relating to the working period of GSoC. Though the coding hasn’t begun, I wouldn’t waste time in getting things done. It’s so cool this project! Well, see you folks!