How selenium IDE identifies objects while recoding

523 views
Skip to first unread message

biwas

unread,
Jul 23, 2012, 1:39:22 PM7/23/12
to seleniu...@googlegroups.com
When recording using selenium IDE it stores the property and value of web objects on which we perform actions.
Can anyone plz tell me how IDE knows on which object the actions are performed?

Thanx in advance

Abhinav Vaid

unread,
Jul 24, 2012, 12:19:10 AM7/24/12
to seleniu...@googlegroups.com
Every page is HTML. While recording, when we click on some element, IDE selects a particular property of that element that is unique in that page. Hence it is able to perform the operations.
 
Regards
Abhinav

biwas

unread,
Jul 24, 2012, 1:39:10 PM7/24/12
to seleniu...@googlegroups.com
Thnx
But how selenium ide knows on which element we clicked while recording?

Peter Gale

unread,
Jul 24, 2012, 1:48:03 PM7/24/12
to Selenium Users
> But how selenium ide knows on which element we clicked while recording?

I've no idea ... I dare say that it intercepts any events driven by click actions etc ... but firefox plugins are just jar'd up javascript files I think, so I think you can just rename the .xpi file to .jar and uncompile it if you really want to know ... or join the relevant development team if you want to contribute to it's development/support.

It would be interesting to know why you are curious to know, and that might give someone a better idea of what level of answer you actually need.


Date: Tue, 24 Jul 2012 10:39:10 -0700
From: biswaj...@gmail.com
To: seleniu...@googlegroups.com
Subject: [selenium-users] Re: How selenium IDE identifies objects while recoding
--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To post to this group, send email to seleniu...@googlegroups.com.
To unsubscribe from this group, send email to selenium-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/selenium-users/-/J1Qq2FdMtigJ.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

biwas

unread,
Jul 25, 2012, 12:39:10 PM7/25/12
to seleniu...@googlegroups.com
Thanks
I was just using it when this question came to my mind like(if we are using selenium to identify objects then how does selenium internally does it).
I am just curious to know.
I searched for it every where but could not find the answer.
If anyone has the answer it would be great to know because every testing tool might be using the same technique.



On Tuesday, July 24, 2012 11:18:03 PM UTC+5:30, PeterJef...@Hotmail.co.uk wrote:
> But how selenium ide knows on which element we clicked while recording?

I've no idea ... I dare say that it intercepts any events driven by click actions etc ... but firefox plugins are just jar'd up javascript files I think, so I think you can just rename the .xpi file to .jar and uncompile it if you really want to know ... or join the relevant development team if you want to contribute to it's development/support.

It would be interesting to know why you are curious to know, and that might give someone a better idea of what level of answer you actually need.


Date: Tue, 24 Jul 2012 10:39:10 -0700
From: biswaj...@gmail.com

Subject: [selenium-users] Re: How selenium IDE identifies objects while recoding

Thnx
But how selenium ide knows on which element we clicked while recording?


On Tuesday, July 24, 2012 9:49:10 AM UTC+5:30, Abhinav Vaid wrote:
Every page is HTML. While recording, when we click on some element, IDE selects a particular property of that element that is unique in that page. Hence it is able to perform the operations.
 
Regards
Abhinav

On Monday, July 23, 2012 11:09:22 PM UTC+5:30, biwas wrote:
When recording using selenium IDE it stores the property and value of web objects on which we perform actions.
Can anyone plz tell me how IDE knows on which object the actions are performed?

Thanx in advance

--
You received this message because you are subscribed to the Google Groups "Selenium Users" group.
To post to this group, send email to selenium-users@googlegroups.com.
To unsubscribe from this group, send email to selenium-users+unsubscribe@googlegroups.com.

Peter Gale

unread,
Jul 25, 2012, 3:37:17 PM7/25/12
to Selenium Users
Biswaj

We've given you two possible answers and a method to find out definitively for yourself - i.e. look in the code for yourself - but neither of those three options seem seem to satisfy you.

Another distinct possibility that springs to mind following another recent discussion on this forum is that the IDE uses a javascript "getElementUnder" cursor function to identify the element on which an action is being performed.

That's the problem with people being "just curious" ... sometimes they just don't have a clear enough idea of what they are trying to ask for any answer to satisfy them. No wonder you haven't found any answer.

And on that point ... if you haven't looked in the code then you certainly haven't looked everywhere!

And if you still can't be bothered to look in the code fro a definitive answer, you might want to ask on the "Selenium Developers" group for a more definitive answer. People on the "Selenium Users" group are generally more interested in using Selenium than understanding the internal architecture and programming specifics.


> ... every testing tool might be using the same technique.
Do you know what technique all the other testing tools use? I suspect not. So even knowing the right answer for Selenium IDE won't really satisfy you.

Anyway ... I think i can answer that one definitively: all testing tools do NOT use the same technique to identify elements.

For a start, not all offer a "record and playback" feature, which would be possible by all tools if they all used the same approach.

And there are certainly a number of distinct approaches possible and used in practice that I know of.

QTP looks at COM level objects of windows applications, I understand, while AutoIT (which could be used for testing if desired) works at a (slightly lower?) windows API of level. The Java Robot api presumably also works on api level calls, but must have different API wrappers for each operating system.

Sikuli works on the graphical images displayed on the screen, whereas WebDriver interacts directly with individual browsers (and can even use a "headless" browser which doesn't have any graphical representation so couldn't be used by any of the above mentioned tools, again proving that it must work differently to those other tools).

Selenium IDE works by injecting javascript into a browser, and the record function only works in Firefox, though, uniquely, scripts can be playback in pretty well any browser, or at least more than any other testing tool, I believe .. which again indicates that it must use a different technique to any other "testing" tool.

Peter






Date: Wed, 25 Jul 2012 09:39:10 -0700
From: biswaj...@gmail.com
To: seleniu...@googlegroups.com
Subject: Re: [selenium-users] Re: How selenium IDE identifies objects while recoding
To post to this group, send email to seleniu...@googlegroups.com.
To unsubscribe from this group, send email to selenium-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/selenium-users/-/2RLoG4zjT3cJ.

biwas

unread,
Jul 28, 2012, 1:43:09 PM7/28/12
to seleniu...@googlegroups.com
thnx for this help of yours..


On Thursday, July 26, 2012 1:07:17 AM UTC+5:30, PeterJef...@Hotmail.co.uk wrote:
Biswaj

We've given you two possible answers and a method to find out definitively for yourself - i.e. look in the code for yourself - but neither of those three options seem seem to satisfy you.

Another distinct possibility that springs to mind following another recent discussion on this forum is that the IDE uses a javascript "getElementUnder" cursor function to identify the element on which an action is being performed.

That's the problem with people being "just curious" ... sometimes they just don't have a clear enough idea of what they are trying to ask for any answer to satisfy them. No wonder you haven't found any answer.

And on that point ... if you haven't looked in the code then you certainly haven't looked everywhere!

And if you still can't be bothered to look in the code fro a definitive answer, you might want to ask on the "Selenium Developers" group for a more definitive answer. People on the "Selenium Users" group are generally more interested in using Selenium than understanding the internal architecture and programming specifics.


> ... every testing tool might be using the same technique.
Do you know what technique all the other testing tools use? I suspect not. So even knowing the right answer for Selenium IDE won't really satisfy you.

Anyway ... I think i can answer that one definitively: all testing tools do NOT use the same technique to identify elements.

For a start, not all offer a "record and playback" feature, which would be possible by all tools if they all used the same approach.

And there are certainly a number of distinct approaches possible and used in practice that I know of.

QTP looks at COM level objects of windows applications, I understand, while AutoIT (which could be used for testing if desired) works at a (slightly lower?) windows API of level. The Java Robot api presumably also works on api level calls, but must have different API wrappers for each operating system.

Sikuli works on the graphical images displayed on the screen, whereas WebDriver interacts directly with individual browsers (and can even use a "headless" browser which doesn't have any graphical representation so couldn't be used by any of the above mentioned tools, again proving that it must work differently to those other tools).

Selenium IDE works by injecting javascript into a browser, and the record function only works in Firefox, though, uniquely, scripts can be playback in pretty well any browser, or at least more than any other testing tool, I believe .. which again indicates that it must use a different technique to any other "testing" tool.

Peter






Date: Wed, 25 Jul 2012 09:39:10 -0700
From: biswaj...@gmail.com
Reply all
Reply to author
Forward
0 new messages