I had chance to work on QTP and to sneak in to Test Complete in my Organization.
I am bit depressed as to how irrationally QTP and Test Complete record web application and how much script one should tweak manually to make it compact. Let me cite example of Google Search for this. A selenium test for Google Search would be like this -
selenium.open("http://www.google.com/");
selenium.type("q", "I love My Company");
selenium.click("btnG");
This certainly gives impression of app being opened, some thing being typed (though "q" might not be very clear here) and some button being clicked (again "bthG" is not very clear here)
Same recorded test in QTP be as following -
Browser("Google").Page("Google").WebEdit("q").Set "I Love My Company"
Browser("Google").Page("Google").WebButton("google search").Click
Google
With Browser and Page objects embedded every where it looks over kill me (Though this can be minimized through manual tweaking)
Now comes the Test Complete -
Sub Test1
Dim page
Dim cell
Dim textbox
Set page = Aliases.firefox.pageGoogle1
Call page.ToURL("http://www.google.com/")
Set cell = page.formF.table.cell
Set textbox = cell.textboxQ
Call textbox.Keys("I Love My Company")
cell.submitbuttonBtng.Click
End Sub
First of all this is too much of script for simple search in Google and would intimidate a novice test automation engineer. More over Google search text box and search button are associated with page > form > table and cell. I tweaked and associated text box and button with page and got through. This also required me to change NameMapping
So As far as script generated through recorder is concerned selenium looks better to me,
Any opinion on this ?
p.s. It took me half an hour to records Google test using Test Complete. Tool looks heavy on memory usage.
I am bit depressed as to how irrationally QTP and Test Complete record web application and how much script one should tweak manually to make it compact. Let me cite example of Google Search for this. A selenium test for Google Search would be like this -
selenium.open("http://www.google.com/");
selenium.type("q", "I love My Company");
selenium.click("btnG");
This certainly gives impression of app being opened, some thing being typed (though "q" might not be very clear here) and some button being clicked (again "bthG" is not very clear here)
Same recorded test in QTP be as following -
Browser("Google").Page("Google").WebEdit("q").Set "I Love My Company"
Browser("Google").Page("Google").WebButton("google search").Click
With Browser and Page objects embedded every where it looks over kill me (Though this can be minimized through manual tweaking)
Now comes the Test Complete -
Sub Test1
Dim page
Dim cell
Dim textbox
Set page = Aliases.firefox.pageGoogle1
Call page.ToURL("http://www.google.com/")
Set cell = page.formF.table.cell
Set textbox = cell.textboxQ
Call textbox.Keys("I Love My Company")
cell.submitbuttonBtng.Click
End Sub
First of all this is too much of script for simple search in Google and would intimidate a novice test automation engineer. More over Google search text box and search button are associated with page > form > table and cell. I tweaked and associated text box and button with page and got through. This also required me to change NameMapping
So As far as script generated through recorder is concerned selenium looks better to me,
Any opinion on this ?
p.s. It took me half an hour to records Google test using Test Complete. Tool looks heavy on memory usage.
You sound like an agile programmer and that is a good thing. For an agile programmer the code should be self-documenting.
ReplyDeleteSelenium would appeal to an agile programmer because it is clean and easy to read. If I show your Selenium, QTP and Test Complete examples to my wife (absolutely no programming knowledge) she would be able to tell me what the Selenium code does. The rest would be gibberish to her.
I would totally agree with your conclusion.