ok, here's the thing..  I don't really see a button there...

damm.. I don't want to install this yahoo mail junk on my box, but
it's a tempting challenge in terms of a puzzle to solve.  I might just
have to fire up a virtual machine (with a snapshot just so I can
return it to pristine state and purge it of anything yahoo
'installs'.)  it would appear that I an others can't help you
otherwise because when I hit their mail.yahoo.com page it's offering
to install the 'new' mail client for me, and you mentioned the new
UI..  and well I don't even have a yahoo mail account.

OK, anyone better at java correct me if I'm going wrong, because I
don't want to send Carl here off onto a snipe hunt, but here's what I
think is happening.   I think that these clowns are using a LOT of
java magic to create a flashy UI that feels very interactive.    See
here where they define the table that holds the 'compose new mail'
stuff

--------------
 <table id="btnTbl_compose:new_message" class="comboButton axsButton
axsOwns_compose_menu axsHasPopup" cellpadding="0" title="Write a new
mail message (n)" boid="undefined_compose:new_message"
cmd="compose:new_message" state="normal" style="" onmouseover="Uo.Z
(event, this)" unselectable="on">
 <tbody>
--------------------
Notice the 'onmouseover' up there?   that means it's activating a
bunch of client side java code the moment the mouse is over the
table.  So if I'm right about this, you're not really interacting with
the contents of that table..   it's just there to provide a visual
target for you the user, and when you move the mouse over it 'magic
happens' via that Uo.Z javascript that's being called.

SO the first step to automating this is to basically fire the event
that tells the system that the user has moved the mouse over the
table.  See this for more info on what we're doing
http://wiki.openqa.org/display/WTR/JavaScript

 you should be able to use the table as your first target:
browser.table(:id, 'btnTbl_compose:new_message').fire_event
('onmouseover')

now possibly it will work to target the entire table, or we might have
to target the specific row in the table where the 'new' label is.
that's going to require a bit of sluthing.. use firebug to figure out
the extent of that table, where it's boundaries are, and then move
your mouse over it, or onto it from various directions, and watch what
happens..

but that's still only the first step, I'm sure we need to fire at
least one other event, because logically just moving the mouse over it
should't be enough to make an action (other than some kind of
animation or menu appearing) take place.

You might also also need to find the script it's executing, to figure
out what it wants next in terms of an event so start searching the
source for where the actual Uo.Z script is.  Once you find it, try to
figure out what it's doing, or at the very least what events it is
setup to respond to.

The table only appears to have one row, and 5 cells, and 'new' is the
middle cell, so you might be able to get by without doing xpath stuff
and just  try some of the following also

browser.table(:id, 'btnTbl_compose:new_message')[1][3].fire_event
('onmouseover')
then perhaps followed by
browser.table(:id, 'btnTbl_compose:new_message')[1][3].fire_event
('onmouseup')

you could just try those two right off..  the first would get the
javascript invoked, and then perhaps once that's happened it will
react to the mouseup..   (or whatever events that script is setup to
react to..




On Apr 9, 10:43 pm, cboudreau <carlboudreau...@gmail.com> wrote:
> Thanks for your presistance on this,
>
> Line 11 is the login line,
>
> I have set Firefox to clear all personal data when exiting, and now I
> am seeing acurate error message related to the actual error lines.
>
> The next set of error messages is where I started with line 17
> uncommented our, then I start over with line 19 uncommentedm then line
> 22 and so on
>
> Here is the Watir code
> 17 #ff.button(:value, "New").click
> 18 # failing
> 19 #ff.cell(:xpath, "//t...@contains(text, 'New')]/").click
> 20 #failing
> 21 #ff.cell(:xpath, "//td[contains(text, 'New')]/").click
> 22 #failing
> 23 #ff.cell(:xpath, "//t...@id='compose_button_label']/../").click
> 24 #failing
> 25 #ff.cell(:xpath, "//td[id='compose_button_label']/../").click
> 26 #failing
> 27 #ff.cell(:xpath, "//td[contains(text(), 'New')]/").click
>
> Here is the error log;>ruby LoginYahoo.rb
>
> C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:967:in `assert_exists': Unable to locate
> element, using :value,
> "New" (Watir::Exception::UnknownObjectException)
>         from C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:1112:in `click'
>         from LoginYahoo.rb:17>Exit code: 1
> >ruby LoginYahoo.rb
>
> C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:967:in `assert_exists': Unable to locate
> element, using :xpath, "//t...@contains(text,
> 'New')]/" (Watir::Exception::UnknownObjectException)
>         from C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:1112:in `click'
>         from LoginYahoo.rb:19>Exit code: 1
> >ruby LoginYahoo.rb
>
> C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:967:in `assert_exists': Unable to locate
> element, using :xpath, "//td[contains(text,
> 'New')]/" (Watir::Exception::UnknownObjectException)
>         from C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:1112:in `click'
>         from LoginYahoo.rb:21>Exit code: 1
> >ruby LoginYahoo.rb
>
> C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:967:in `assert_exists': Unable to locate
> element, using :xpath, "//td
> [...@id='compose_button_label']/../" 
> (Watir::Exception::UnknownObjectException)
>         from C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:1112:in `click'
>         from LoginYahoo.rb:23>Exit code: 1
> >ruby LoginYahoo.rb
>
> C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:967:in `assert_exists': Unable to locate
> element, using :xpath, "//td
> [id='compose_button_label']/../" (Watir::Exception::UnknownObjectException)
>         from C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:1112:in `click'
>         from LoginYahoo.rb:25>Exit code: 1
> >ruby LoginYahoo.rb
>
> C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:967:in `assert_exists': Unable to locate
> element, using :xpath, "//td[contains(text(),
> 'New')]/" (Watir::Exception::UnknownObjectException)
>         from C:/Ruby/lib/ruby/gems/1.8/gems/firewatir-1.6.2/lib/firewatir/
> MozillaBaseElement.rb:1112:in `click'
>         from LoginYahoo.rb:27
>
> >Exit code: 1
>
> Using Firebug here is the inspected code;
> <div id="coreToolbar" class="axsToolbar" style="height: auto;"
> bbwidth="161">
>  <table id="btnTbl_launch:send_and_receive_all" class="buttonTable
> axsButton" cellpadding="0" title="Check for new mail (m)"
> boid="undefined_launch:send_and_receive_all"
> cmd="launch:send_and_receive_all" state="normal" style=""
> onmouseover="Uo.Z(event, this)" unselectable="on">
>  <tbody>
>  <tr>
>  <td class="leftCap" style="width: 3px;" unselectable="on">
> <div style="width: 3px; visibility: hidden;"/>
> </td>
>  <td class="buttonIconCell" unselectable="on">
> <div class="button" style="background-position: -1700px 0px;"
> unselectable="on"/>
> </td>
> <td id="check_mail_button_label" class="labelCell" nowrap=""
> unselectable="on">Check Mail</td>
>  <td class="rightCap" style="width: 3px;" unselectable="on">
> <div style="width: 3px; visibility: hidden;"/>
> </td>
> </tr>
> </tbody>
> </table>
>  <table id="btnTbl_compose:new_message" class="comboButton axsButton
> axsOwns_compose_menu axsHasPopup" cellpadding="0" title="Write a new
> mail message (n)" boid="undefined_compose:new_message"
> cmd="compose:new_message" state="normal" style="" onmouseover="Uo.Z
> (event, this)" unselectable="on">
>  <tbody>
>  <tr>
>  <td class="leftCap" style="width: 3px;" unselectable="on">
> <div style="width: 3px; visibility: hidden;"/>
> </td>
>  <td class="buttonIconCell" unselectable="on">
> <div class="button" style="background-position: -1730px 0px;"
> unselectable="on"/>
> </td>
> <td id="compose_button_label" class="labelCell" nowrap=""
> unselectable="on">New</td>
>  <td class="dropDownLeftCap" unselectable="on">
> <div style="width: 2px; visibility: hidden;"/>
> </td>
>  <td class="dropDownIconCell" unselectable="on">
> <div id="compose_button_combo" class="comboArrow" unselectable="on"/>
> </td>
>  <td class="rightCap" style="width: 3px;" unselectable="on">
> <div style="width: 3px; visibility: hidden;"/>
> </td>
> </tr>
> </tbody>
> </table>
> </div>
>
> I am using SciTE, I saw that someone said their script worked in the
> cmd window, but not is SciTE.  I can try that if you think it might
> help.
>
> Thanks again, Carl
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Watir General" group.
To post to this group, send email to watir-general@googlegroups.com
Before posting, please read the following guidelines: 
http://wiki.openqa.org/display/WTR/Support
To unsubscribe from this group, send email to 
watir-general-unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/watir-general
-~----------~----~----~----~------~----~------~--~---

Reply via email to