Video Tutorial on Mozmill

8 04 2010

Ever since I edit the Introduction to Mozmill page, I received some feedback from different user in the web.

One of the feedback email I got from KK

The tutorial is easy to understand. But to put them into action, it’s really complicated. How I wish there’s a video tutorial. Cheers Mate!

And I have the same thought as him when I’m trying to pick up Mozmill. Which triggered me into investing time and effort into making the tutorial ID10T proof. I took up the challenge, even though I think my voice and english is bad. =P I managed to done up 3 short video on Intro to Mozmill. The video can be found at my

Installing Mozmill

Intro to Mozmill Part 1 – Basic

Intro to Mozmill Part 2 – Inspector

Or simple do a search at youtube “Mozmill”

I hope I have help many people easing the steep slope of learning Mozmill. =)


Open Source VS Closed Source

26 03 2010

Hi all, after weeks of working in the open source committee, I have some thoughts that I would like to post it up in my blog.

Ever since I’m young, my parent emphasize that there’s no free lunch in the world. Everything that I want need to pay with money, and if it’s free, they are either not good or inferior product. And slowly they’ve created me thinking that paid stuffs are generally more superior over free stuffs.

When I got myself enrolled into Nanyang Polytechnic pursuing  a Diploma in Business Informatics, it requires me to use many application. For example, we need a Database server, I would always tell my group that please use Microsoft SQL server or IBM DB2 and avoid MySQL. Although many of my friends challenged me that Open Source can be as good as Closed source or even better in some instances, many just can’t change this stubborn mind of mine.

Till I enrolled into NUS, I met this very trusty friend of mine, Chris. We’ve been working together in CS2103 and find it pleasurable to work with. On one occasion, we saw the email for enrolling into CS3108 Mozilla, and both of us agree to take up this module. The first class conducted by Gary indeed scared most of the students, but in fact, it’s the first class that got me interested. He mention about Open Source, immediately he reminds me of my friends who tried to convince me. I took up the challenge and want to see myself and hope I can prove myself right. But obviously I’m wrong. =)

Throughout this module, not only I work with Chris, Daniel and Gary, I have a chance to work with people globally. Whenever I face a problem, they will have someone out there helping me. I took up Mozmill (For more info, please check my previous post), it’s not easy initially and I did faced a lot of problem, but help is everywhere. But I must admit that I did have a hard time struggling and many times I wish to give up. =) All out of a sudden, something came into my mind at that moment.

What happen if every potential Open Source contributor and programmer give up on contributing if they have a hard time to pick up? If I can keep these potential programmer and teach them the basics, lighten their learning curve, maybe they can be develop into great programmer and in the long run, I’m contributing to the Open Source society. =) Which makes me put in so much effort in editing the Introduction to Mozmill. I will be coming out with a Video Tutorial very soon with Step-by-Step guide to Mozmill.

To conclude, after so many weeks in the Open Source society, I feel that some of the Open Source application is better, and some of them have already be a part of my daily life. I’ve been using Ubuntu as my operating system, and stop using Microsoft Vista unless I have to. Firefox for my web browsing, Thunderbird to sort my emails… etc

I guess I’ve learned a lot from this module. It has broader my vision, spark the interest in me in using and contributing to Open Source. I guess my story won’t end even after this module. =) Thanks Gary.

Mozmill – 万事起頭難

25 02 2010

Learning a new thing is always the most tedious. Like the chinese saying 万事起頭難. When I first start going through the mozmill tutorial, I faced a lot of problems. It took me quite some time to go get the most basic mozmill up and running. I mention that to Gary, and he advise me to edit and update the tutorial on the web. Thus, I’ve update it and hope new learner will be able to get the hand of it and contribute to the open source world! =)

Below is the page that I’ve edited.

The above page can be found at

Hello Mozmill

11 02 2010

Hello Mozmill, have been working on Mozmill throughout the weekend. I find the framework very straight forward and easy to understand. I would like to share with you the basic of the framework from my understanding. They’re four special functions can we can define, they are “setupModule”, “teardownModule”, “setupTest” and “teardownTest” which are used to define common steps before a module or a test is run and also how to remove anything that might impact another test or module. After the basic are done, we now need to get the correct test case into the javascript. =)

I’ve attached along the screen shot of my first Work-In-Progress Mozmill test in the following image.

Hello MozmillIf you notice from the Screen shot, there’s this module tes1tSetup2Tabs, well it’s not a error or mistakes. For Mozmill will only run test with module names startling with “test”. So when I change it to tes1t, it will not run this module.Will be updated once I get the hold of it.

I’ve programmed the other module, testSomething

var testSomething  = function() {‘’);
if (controller.window.document.title != ‘Google – Mozilla Firefox’) {
throw ‘Title does not match “Google” !=  ‘ + controller.window.document.title;
var e = new elementslib.Name(controller.tabs.activeTab, “q”);
controller.type(e, “Black”); elementslib.Name(controller.tabs.activeTab, “btnG”));
if (controller.window.document.title != ‘Black – Google Search – Mozilla Firefox’) {
throw ‘Title does not match “Google” !=  ‘ + controller.window.document.title;

In this code, what am I testing? Basically it’s to ask the Controller to open and check if the title is correct, else I will report it as a Failure. Next I will search “Black” and check if the title is correct.

Lastly, I would like to bring you to this link . I find it very useful as it link the user movement into Javascript code. Like click, double click, keypressed and many more.

That’s it for now.

Charlie Sierra 3108

Mozilla Project Proposal

5 02 2010

Software testing is an integral and important part of the software development process. This part of the process ensures that bugs  are recognized as early as possible. It is commonly believed that the earlier a defect is found the cheaper it is to fix it. Hence, it ignite my passion into automated testing which bring me to Mozmill!

I hope to use Mozmill to automate testing on some of the complicated and test cases that require lots of time

If time permit, I hope I can implement Mozmill automated testing on some of the new extensions and my classmates extension. *Wink @ Chris

Runway clear and safe?

28 01 2010

Writing or Reading one’s blog could be very boring, so let me try something interesting….

Fog!!!! – Earlier of the day

Charlie Sierra 3108: ‘Centre, we’re unable to take off. Runway visibility here to less than 50 metres’

My visibility is very poor, I can hardly see where am I heading. I try to clear the fog in front of my view. Did some searches on Mozmill, went through the Tutorial, went through some examples and even throw questions at Gary. On top of that, I went through some of the task my seniors did and I must admit some of their work is really well done. I would like to share the work done by Hendrik, who have built an extension for Mozilla Firefox browser to clear the Password field of a particular specific field and on top of that did a mozmill automated testing on his extension. I’m really impressed by his work. I hope I can be as good as him. I would like to get myself familiar with this framework.

Help is no where? It’s now here! – Lessons

Tower: ‘Charlie Sierra 3108, the fog have been cleared with the aid of Fog Fences

The two hours of tutorial with Gary indeed cleared most of my doubt, cleared my fog, gave me a clear visibility of my runway! Now I know what I want to do after the lesson!

Gary has been a really gr8 (“Great” I know, no short form!) help to me. He guides me to where I want to… I ready to go now….


Now that I’m at the starting grid, I would like to plan what I want to do in the near future, and where I want fly to eventually!
So here’s my very initial draft….

Plans for Near future
  1. Get familiar with the Mozmill Framework
    • Go through some more examples
    • try out ‘Hello World’ tutorial
    • try out one or more of the existing test cases done by someone and compare with them
  2. Visit
    • Identify those manual testing that Mozmill don’t have
  3. Try to program my first unique Mozmill test on a Litmus test
  4. To be updated…
Plans for the future
  1. Contribute to the Open Source society.
  2. More to come!

In order for a plane to be able to clear the runway during take-off, a plane will need to have 70 percent of its take-off speed by the time it reaches the half-way point on the runway…

I hope I can reached my 70% take off speed as soon as possible! Wish me the best! Thanks for reading! Hope you don’t get bored by reading my Blog!


I’m ready to go!

24 01 2010


This is the 2nd week since the start of my semester 2 in NUS and I got myself enrolled into CS3108, Mozilla, together with my NUS buddy Chris. I got interested in this course when I received an email on this course and the idea of working together with developers globally on Mozilla products.

On the 1st week of the course, I’m surprised that only a handful of us applied for this course. Together with my buddy, there’s only 1 more of us into this course. Probably Gary has scared most of them away.

I’ve spent most of the time trying to lookout for things which I need to do as well as things which I want to do. I’m lost. I don’t know what am I suppose to do and what’s should be my expectation. Fortunately, after the last tutorial session we have with Gary, I seem to know which direction I’m interested in.

What really interest me is Mozmill, it is an user-interface test automation tool. You can use it to write tests for your Add-On or for your Mozilla Platform (Gecko) Application. I will be trying out the tutorials at the Mozilla Developer Center and get the feel of it. It would be great with I can use Mozmill on Thunderbird. Meanwhile, I’ve been looking up Bugzilla and found a few cases which I deem it’s appropriate to me, the case numbers are Bug 487041 and Bug 540330. Other than those on Mozmill, the other one is Bug 502515.

That’s all for now! =)