[wtr-general] Re: Cannot identify button element by value?

2013-05-18 Thread Alex Rodionov
Reposting myself from SO:

+1 to raise this as issue on watir-webdriver as it definitely needs 
 discussion. I use button(:value) in my tests a lot and it actually matches 
 button's value, so there is something behind this.


According to code, button tag name and value are treated specifically. 
According to history, Jari has implemented this when he was making 
watir-webdriver compliant to watirspec, so I suppose it may come from old 
Watir implementation. Nevertheless, it needs to be discussed.

On Saturday, May 18, 2013 12:34:26 AM UTC+7, Chuck van der Linden wrote:

 On Thursday, May 16, 2013 6:14:34 AM UTC-7, Dan wrote:

 It doesn't look like it's just Chrome actually.  I got the same results 
 in Firefox.  Looks like the stackoverflow answer addresses the issue?  If I 
 change from button type of button to input type of button it works like you 
 would expect.

  b = Watir::Browser.new :firefox
 = #Watir::Browser:0x110337500 url=about:blank title=
  b.goto(file:///Users/admin/Desktop/button.html)
 = file:///Users/admin/Desktop/button.html
  b.html
 = html xmlns=\http://www.w3.org/1999/xhtml\;head/headbodybutton 
 value=\hey\ onclick=\alert('Hello world!')\ type=\button\Click 
 Me!/button/body/html
  b.button.value
 = hey
  b.button(:value = hey).exists?
 = false
  b.button(:value = hey).click
 Watir::Exception::UnknownObjectException: unable to locate element, using 
 {:value=hey, :tag_name=button}
 from 
 /Library/Ruby/Gems/1.8/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:490:in
  
 `assert_exists'
 from 
 /Library/Ruby/Gems/1.8/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:118:in
  
 `click'
 from (irb):11
 # Changed from button to input type of button
  b.refresh
 = []
  b.html
 = html xmlns=\http://www.w3.org/1999/xhtml\;head/headbodyinput 
 type=\button\ value=\hey\ onclick=\alert('Hello world!')\ /Click 
 Me!/body/html
  b.button(:value = hey).exists?
 = true

  
 This is likely because for the input tag of type button, there was no 
 separate text (at least i never see examples of this) the value attribute 
 determined the text that was displayed for the button.. so for that type of 
 element  value=text  The button tag is a lot more robust but seems to be 
 used less often (perhaps due to (misguided?)advice about 
 browser compatibility issues?) 

 But the actual button tag, the value and the text are two different 
 things, and you may need to specifically use one or the other to select the 
 element  A great example here might be il8n issues, where it's easier for 
 scripting code to have a consistent value returned by a button, but you may 
 want to display different text based on a language setting (e.g. a 
 bilingual site)  In that case you may also want your automation to identify 
 by the value, as it is predictable.

 It seems to me on that basis alone, we ought to be able to predictably 
 select a 'button' tag by its value
  

 On Wednesday, May 15, 2013 5:35:12 PM UTC-4, Chuck van der Linden wrote:

 See this SO issue for HTML sample, code samples tried in IRB

   
 http://stackoverflow.com/questions/16574999/watir-webdriver-unable-to-identify-button-by-value

 the short of it.  I've got HTML like

button type=button class=btn fb-user-type name=fbRadios 
 value=is_agent style=An Agent/button

  When I try to identify the button by class, or text, it works, but by 
 value  such as 

 b.button(:value = is_agent).exists?

 fails  (that returns false, most other stuff returns the typical cannot 
 be located message)

 what the heck?  shouldn't this be working?   (Chrome on a Mac) 



-- 
-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com

--- 
You received this message because you are subscribed to the Google Groups 
Watir General group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to watir-general+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




[wtr-general] Re: Cannot identify button element by value?

2013-05-17 Thread Chuck van der Linden
On Thursday, May 16, 2013 6:14:34 AM UTC-7, Dan wrote:

 It doesn't look like it's just Chrome actually.  I got the same results in 
 Firefox.  Looks like the stackoverflow answer addresses the issue?  If I 
 change from button type of button to input type of button it works like you 
 would expect.

  b = Watir::Browser.new :firefox
 = #Watir::Browser:0x110337500 url=about:blank title=
  b.goto(file:///Users/admin/Desktop/button.html)
 = file:///Users/admin/Desktop/button.html
  b.html
 = html xmlns=\http://www.w3.org/1999/xhtml\;head/headbodybutton 
 value=\hey\ onclick=\alert('Hello world!')\ type=\button\Click 
 Me!/button/body/html
  b.button.value
 = hey
  b.button(:value = hey).exists?
 = false
  b.button(:value = hey).click
 Watir::Exception::UnknownObjectException: unable to locate element, using 
 {:value=hey, :tag_name=button}
 from 
 /Library/Ruby/Gems/1.8/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:490:in
  
 `assert_exists'
 from 
 /Library/Ruby/Gems/1.8/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:118:in
  
 `click'
 from (irb):11
 # Changed from button to input type of button
  b.refresh
 = []
  b.html
 = html xmlns=\http://www.w3.org/1999/xhtml\;head/headbodyinput 
 type=\button\ value=\hey\ onclick=\alert('Hello world!')\ /Click 
 Me!/body/html
  b.button(:value = hey).exists?
 = true

  
This is likely because for the input tag of type button, there was no 
separate text (at least i never see examples of this) the value attribute 
determined the text that was displayed for the button.. so for that type of 
element  value=text  The button tag is a lot more robust but seems to be 
used less often (perhaps due to (misguided?)advice about 
browser compatibility issues?) 

But the actual button tag, the value and the text are two different things, 
and you may need to specifically use one or the other to select the element 
 A great example here might be il8n issues, where it's easier for scripting 
code to have a consistent value returned by a button, but you may want to 
display different text based on a language setting (e.g. a bilingual site) 
 In that case you may also want your automation to identify by the value, 
as it is predictable.

It seems to me on that basis alone, we ought to be able to predictably 
select a 'button' tag by its value
 

 On Wednesday, May 15, 2013 5:35:12 PM UTC-4, Chuck van der Linden wrote:

 See this SO issue for HTML sample, code samples tried in IRB

   
 http://stackoverflow.com/questions/16574999/watir-webdriver-unable-to-identify-button-by-value

 the short of it.  I've got HTML like

button type=button class=btn fb-user-type name=fbRadios 
 value=is_agent style=An Agent/button

  When I try to identify the button by class, or text, it works, but by 
 value  such as 

 b.button(:value = is_agent).exists?

 fails  (that returns false, most other stuff returns the typical cannot 
 be located message)

 what the heck?  shouldn't this be working?   (Chrome on a Mac) 



-- 
-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com

--- 
You received this message because you are subscribed to the Google Groups 
Watir General group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to watir-general+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




[wtr-general] Re: Cannot identify button element by value?

2013-05-16 Thread Dan
It doesn't look like it's just Chrome actually.  I got the same results in 
Firefox.  Looks like the stackoverflow answer addresses the issue?  If I 
change from button type of button to input type of button it works like you 
would expect.

 b = Watir::Browser.new :firefox
= #Watir::Browser:0x110337500 url=about:blank title=
 b.goto(file:///Users/admin/Desktop/button.html)
= file:///Users/admin/Desktop/button.html
 b.html
= html xmlns=\http://www.w3.org/1999/xhtml\;head/headbodybutton 
value=\hey\ onclick=\alert('Hello world!')\ type=\button\Click 
Me!/button/body/html
 b.button.value
= hey
 b.button(:value = hey).exists?
= false
 b.button(:value = hey).click
Watir::Exception::UnknownObjectException: unable to locate element, using 
{:value=hey, :tag_name=button}
from 
/Library/Ruby/Gems/1.8/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:490:in
 
`assert_exists'
from 
/Library/Ruby/Gems/1.8/gems/watir-webdriver-0.6.4/lib/watir-webdriver/elements/element.rb:118:in
 
`click'
from (irb):11
# Changed from button to input type of button
 b.refresh
= []
 b.html
= html xmlns=\http://www.w3.org/1999/xhtml\;head/headbodyinput 
type=\button\ value=\hey\ onclick=\alert('Hello world!')\ /Click 
Me!/body/html
 b.button(:value = hey).exists?
= true

On Wednesday, May 15, 2013 5:35:12 PM UTC-4, Chuck van der Linden wrote:

 See this SO issue for HTML sample, code samples tried in IRB

   
 http://stackoverflow.com/questions/16574999/watir-webdriver-unable-to-identify-button-by-value

 the short of it.  I've got HTML like

button type=button class=btn fb-user-type name=fbRadios 
 value=is_agent style=An Agent/button

  When I try to identify the button by class, or text, it works, but by 
 value  such as 

 b.button(:value = is_agent).exists?

 fails  (that returns false, most other stuff returns the typical cannot be 
 located message)

 what the heck?  shouldn't this be working?   (Chrome on a Mac) 


-- 
-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com

--- 
You received this message because you are subscribed to the Google Groups 
Watir General group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to watir-general+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.