Sunday, June 17, 2007

Finally 10....

Ok, i am certainly not talking anything about my GPA. After fighting (fighting is an understatement i suppose) with Firefox and LDTP for 3 hours (well this is actually few days), finally managed to get 10 test cases work properly.

At least these 10 test cases will work properly for integration with Tinderbox. Have to send these test cases to emily soon and get them integrated with tinderbox.

The output log is
<ldtp>
<group name="group1">
<script name="verifyaddressfield.py">
<test name="address field and go button">
<pass>1</pass>
</test>
</script>
<script name="verifybackforward.py">
<test name="Back and Forward buttons">
<pass>1</pass>
</test>
</script>
<script name="verifyhome.py">
<test name="verify home button">
<pass>1</pass>
</test>
</script>
<script name="verifynewtab.py">
<test name="Open a new tab ">
<pass>1</pass>
</test>
</script>
<script name="verifyyahoo.py">
<test name="topsite - yahoo">
<pass>1</pass>
</test>
</script>
<script name="verifymsn.py">
<test name="topsite - msn test">
<pass>1</pass>
</test>
</script>
<script name="verifyamazon.py">
<test name="topsite - amazon">
<pass>1</pass>
</test>
</script>
<script name="verifyftp.py">
<test name="navigate ftp">
<pass>1</pass>
</test>
</script>
<script name="verifysearch.py">
<test name="Open search by keyboard shortcuts">
<pass>1</pass>
</test>
</script>
<script name="verifyfindinpage.py">
<test name="Find in Page">
<pass>1</pass>
</test>
</script>
<timeinfo start="03:23:00 AM on 18-Jun-2007" elapsed="0:1:8"></timeinfo>
<groupsstatus total="10" pass="10" fail="0"></groupsstatus>
</group>
</ldtp>

Well looks like i have underestimated how bugs can trouble a poor coder like me :P.

Each test case has its unique problem :P.
The major problem is the Firefox crash :(. Though the test case work individually, Firefox crashes if all the test cases were run under a single runner xml :-(. I have downloaded Firefox firefox-3.0a6pre now ( was using firefox-3.0a5pre all these days). Hopefully Firefox 6 is stable against the test cases :-).

Anyway the 10 is not the final list. I am supposed to test 30 test cases properly for the Functionality subgroup of smoketests testgroup for Firefox 3.0. Not to mention about the lots and lots of test cases from other test groups.

Let me post the issues i am facing with the other test cases, so that it is easier for me to fix them later.

Before that, the 10 test cases which worked in my favour are :)

3954: Address Field and Go button
4032: Back and Forward buttons
4031: Home button
4086: Open a new tab
3955: Top Site - Yahoo
3956: Top Site - MSN
3957: Top Site - Amazon
3959: Navigate FTP
4245: Open search by keyboard shortcuts
3967: Find in Page

The test cases having issues are
1. 4137: Add an RSS feed/Livemark
This is the strangest test case i have ever found :(. This doesn't work for the first time. Next time without any modification, if i run the test case it works like properly. Third time it is not working and fourth time it again works properly . Well, that is more than enough for me, i either end up banging the computer monitor or beating myself that there is no 5 th time :-(. Should check this test case properly.

Looks like this is the only test case which troubles me as of now. Have the rest of the code ready but looks like new problems are starting soon. For the same runner xml, same files , same Firefox, test case 2 shows come error. Have to check that soon. Got firefox-3.0a6pre few mins back. Have to run the test cases with that.

And yes, tried something with the list not getting selected problem. Even nags confirmed this problem some time back and finally able to find out the exact line where the error occurs .

if (AccessibleSelection_selectChild (selection, text_index)) { }
That is line 110 from list.c. The if statement is returning false ending up in "LDTP_ERROR_UNABLE_TO_SELECT_CHILD" . Hoping to fix this soon. Will be really happy if i fix this one as i will be able to add something to the ldtp source code. Been a long time since my name appeared in the Changelog ;-) ;-)

Only thing i am happy about is both Ubuntu Linux and Solaris responds similarly for the test cases. So no separate Firefox issues and Solaris issues as of now. Let us see how this proceeds.

Another small issue.
Whenever i get any error in any of the test cases, i get the following error
<script name="verifyamazon.py">
<test name="topsite - amazon">
<ERROR>Traceback (most recent call last):
File "/usr/local/bin/ldtprunner", line 407, in executescript
execfile (scriptname, scriptglobal)
File "verifyamazon.py", line 52, in <module>
log (msg, 'error')
File "/usr/local/lib/python2.5/site-packages/ldtp.py", line 2500, in log
logger.error (message)
File "logging/__init__.py", line 1015, in error
File "logging/__init__.py", line 1100, in _log
File "/usr/local/lib/python2.5/site-packages/ldtp.py", line 2421, in makeRecord
return LdtpLogRecord (name, level, fn, lno, msg, args, exc_info)
File "/usr/local/lib/python2.5/site-packages/ldtp.py", line 2394, in __init__
msg = '<' + logging.getLevelName (level) +'>' + saxutils.escape (msg) + '</' + logging.getLevelName (level) + '>'
File "/usr/lib/python2.5/site-packages/_xmlplus/sax/saxutils.py", line 31, in escape
data = data.replace("&", "&amp;")
AttributeError: 'LdtpExecutionError' object has no attribute 'replace'
</ERROR>
</script>

I am giving the error message properly in the try block, but not in the except block. When i give the error in the except block then i get the error message in the log file properly. But i am supposed to pass the error message from the try block to the except block. Should learn a bit of python exceptions to know more about this

Anyway the files for the test cases which are working can be obtained from here

Note :: Have added many more test cases to the above file now, but didn't like to change the title.

No comments: