Here is the message I get when I attempt to install this gem:

ERROR:  While executing gem ... (RuntimeError)
    Error instaling unroller:
        unroller requires facets >= 1.8.54

NOTE: I DID install the win32console gem

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
[EMAIL PROTECTED]
Sent: Monday, May 07, 2007 3:21 PM
To: wtr-general@rubyforge.org
Subject: Wtr-general Digest, Vol 42, Issue 14

Send Wtr-general mailing list submissions to
        wtr-general@rubyforge.org

To subscribe or unsubscribe via the World Wide Web, visit
        http://rubyforge.org/mailman/listinfo/wtr-general
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific than
"Re: Contents of Wtr-general digest..."


Today's Topics:

   1. Re: unknown property or method `readyState' (Ken Lim)
   2. Re: Using an ie.table.each do |row| loop when thepage     in the
      ie window refreshes itself (Ian Webb)
   3. Re: Using an ie.table.each do |row| loop when thepage     in the
      ie window refreshes itself ( ?eljko Filipin )
   4. Excelent debugging tool - Unroller (Brown, David)
   5. Re: Using an ie.table.each do |row| loop when     thepagein the
      ie window refreshes itself (Ian Webb)
   6. Remote Watir (Aaron)


----------------------------------------------------------------------

Message: 1
Date: Mon, 7 May 2007 14:25:10 +0800
From: "Ken Lim" <[EMAIL PROTECTED]>
Subject: Re: [Wtr-general] unknown property or method `readyState'
To: wtr-general@rubyforge.org
Message-ID:
        <[EMAIL PROTECTED]>
Content-Type: text/plain; charset="iso-8859-1"

Hi,

Good day.
Hope I understood your request for stack traces correctly.
Please see below:

WIN32OLERuntimeError: unknown property or method `readyState'
    HRESULT error code:0x80070005
      Access is denied.
    C:/Program
Files/ruby/lib/ruby/gems/1.8/gems/watir-1.5.1.1164/./watir.rb:1819:in
`method_missing'
    C:/Program
Files/ruby/lib/ruby/gems/1.8/gems/watir-1.5.1.1164/./watir.rb:1819:in
`wait'
    C:/Program Files/ruby/lib/ruby/gems/1.8/gems/watir-
1.5.1.1164/./watir.rb:2575:in
`click'

Regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://rubyforge.org/pipermail/wtr-general/attachments/20070507/da80a1b5
/attachment-0001.html 

------------------------------

Message: 2
Date: Mon, 7 May 2007 08:55:46 -0400
From: "Ian Webb" <[EMAIL PROTECTED]>
Subject: Re: [Wtr-general] Using an ie.table.each do |row| loop when
        thepage in the ie window refreshes itself
To: <wtr-general@rubyforge.org>
Message-ID:
        <[EMAIL PROTECTED]>
Content-Type: text/plain;       charset="us-ascii"

Thanks - this does look like a good approach. The table's layout doesn't
change, it just reloads to update the data within the table with the
entries that were just made in the popup window. It's a really annoying
UI, especially when you have test cases that require changing a dozen
rows and therefore opening the popup a dozen times.. hence why I'm quite
eager to get Watir doing it instead.

However, each_with_index appears to be an undefined method for ie.table
objects. I can iterate on .each just fine, but .each_with_index is
undefined. (.rows is undefined as well; .each works fine if I leave it
out)

I'm wondering if maybe there's a way to store the indices of the buttons
it's going to click on within the array, rather than the rows
themselves. I tried buttons_to_click << row[5].link(:index,1), but that
doesn't work.

Thanks,
Ian

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ethan Jewett
Sent: Saturday, May 05, 2007 6:55 PM
To: wtr-general@rubyforge.org
Subject: Re: [Wtr-general] Using an ie.table.each do |row| loop when
thepage in the ie window refreshes itself

Ian,

Reloading probably invalidates the table object, resulting in your
"Access denied" error when ruby goes back for the next row in the table.

Suggestion:  Assuming that submitting and reloading doesn't affect the
table layout, use rows.each_with_index to build an array of indices of
relevant rows.  Then cycle through the array clicking and submitting.
For instance (untested, unfortunately):

rows_to_click = Array.new

ie.table(:index, 29).rows.each_with_index do |row, i|
  rows_to_click << i if (row[1].text =~ /#{journals}/) != nil end

rows_to_click.each do |i|
  [Do the clicking and such for row i here.] end

This could be made substantially prettier, but hopefully it gets the job
done.

Ethan

On 5/4/07, Ian Webb <[EMAIL PROTECTED]> wrote:
> Here's the code snippet that's giving me problems:
>
>   ie.table(:index,29).each do |row|
>     if (row[1].text =~ /#{journals}/) != nil then #If there is a match

> for that regex
>       row[5].link(:index,1).click # this makes the popup window appear
>       cw = Watir::IE.attach(:title,'Popup Window') # attach to the
popup
> window
>       doRolesPopup(cw) # fill out and submit the form
>     end
>   end
>
> doRolesPopup fills out a form in the cw page, then clicks submit. The 
> submit button submits the form, then closes the cw window and reloads 
> the ie window. This reload of the page referenced by the ie object 
> appears to break the row object, since I get the following error:
>
> c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:2461:in `invoke': unknown 
> property or method `rows' (WIN32OLERuntimeError)
>     HRESULT error code:0x80070005
>       Access is denied. from
> c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:2461:in `row'
>         from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:2404:in `each'
>         from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:2404:in `upto'
>         from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:2404:in `each'
>         from assignroles.rb:51
>         from c:/ruby/lib/ruby/1.8/csv.rb:532:in `parse'
>         from c:/ruby/lib/ruby/1.8/csv.rb:560:in `each'
>         from c:/ruby/lib/ruby/1.8/csv.rb:531:in `parse'
>         from assignroles.rb:35
>
> Is there any way to keep this simple .each loop, or do I need to work 
> around it?
>
> Thanks,
> Ian
> _______________________________________________
> Wtr-general mailing list
> Wtr-general@rubyforge.org
> http://rubyforge.org/mailman/listinfo/wtr-general
>
_______________________________________________
Wtr-general mailing list
Wtr-general@rubyforge.org
http://rubyforge.org/mailman/listinfo/wtr-general


------------------------------

Message: 3
Date: Mon, 7 May 2007 15:04:27 +0200
From: " ?eljko Filipin " <[EMAIL PROTECTED]>
Subject: Re: [Wtr-general] Using an ie.table.each do |row| loop when
        thepage in the ie window refreshes itself
To: wtr-general@rubyforge.org
Message-ID:
        <[EMAIL PROTECTED]>
Content-Type: text/plain; charset="utf-8"

On 5/7/07, Ian Webb <[EMAIL PROTECTED]> wrote:
>
> I'm wondering if maybe there's a way to store the indices of the 
> buttons it's going to click on within the array, rather than the rows 
> themselves. I tried buttons_to_click << row[5].link(:index,1), but 
> that doesn't work.


Hi Ian,

I am not sure I understood what you want to do here (I need to see
html), but try changing

buttons_to_click << row[5].link(:index,1)

to

buttons_to_click << ie.row[5].link(:index,1)

Zeljko
--
ZeljkoFilipin.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://rubyforge.org/pipermail/wtr-general/attachments/20070507/360e779e
/attachment-0001.html 

------------------------------

Message: 4
Date: Mon, 7 May 2007 09:38:35 -0700
From: "Brown, David" <[EMAIL PROTECTED]>
Subject: [Wtr-general] Excelent debugging tool - Unroller
To: <wtr-general@rubyforge.org>
Message-ID:
        
<[EMAIL PROTECTED]
>
        
Content-Type: text/plain;       charset="us-ascii"

All,
I stumbled across this handy little debugging tool the other day when I
was trying to find a tool that would display/trace the execution of my
test script. This tool called "Unroller" will print out each line of
code that is executed along with the values of the variable passed into
and returned from methods. (optionally it will also keep track of local
variables.)  It is very helpful for quickly identifying exactly where
your script died, and what values were causing it to choke.

http://unroller.rubyforge.org/

For some reason I had to install the win32console gem as well to get it
working: http://rubyforge.org/frs/?group_id=1766

Tip: when you invoke the unroller, you may want to "exclude" the common
classes that you don't care about ie watir, string, array ...  So that
it only traces your code.  For example:

    Unroller::trace(:max_depth => 5, :show_locals=>true,:exclude_classes
=>[/Watir/,/String/,/Array/]) do 
        # some watir test script code goes here
    end

I hope some of you find this helpful!
-David


------------------------------

Message: 5
Date: Mon, 7 May 2007 15:49:55 -0400
From: "Ian Webb" <[EMAIL PROTECTED]>
Subject: Re: [Wtr-general] Using an ie.table.each do |row| loop when
        thepagein the ie window refreshes itself
To: <wtr-general@rubyforge.org>
Message-ID:
        <[EMAIL PROTECTED]>
Content-Type: text/plain; charset="iso-8859-2"

Here's the HTML. This row repeats with different values. The field with
"Name Goes Here" in it is the field we're filtering on - if this field
is matched by a given regex, then make a note that we need to click the
button in the last column of this row.

<tr> 

        <td class='dataentry'><p class='pagecontents'>Name Goes
Here</p></td>

        <td class='dataentry'><p class='pagecontents'>Active
Member</p></td>

        <td class='dataentry'><p class='pagecontents'>AU, REV</p></td>

        <td class='dataentry'><p
class='pagecontents'>&nbsp;Support&nbsp;</p></td>

        <TD CLASS='dataentry' WIDTH=1% ALIGN=CENTER><P
CLASS='pagecontents'><a href=" javascript:
popWindow('s?NEXT_PAGE=ALTER_PERMISSIONS_POPUP&PERSON_ID=00000&PAGE_NAME
=SUPPORT_ADD_USER3A&ORGANIZATION_ID=0000&EDIT_PERSON_FL=Y&CURRENT_ROLE_I
D=0&CURRENT_USER_ID=00000&DOCUMENT_HASHCODE=&SANITY_CHECK_DOCUMENT_ID=&C
ONFIG_ID=1','edit_permission_pop', 550, 600); "><img
src='/images/icons/edit.gif' border=0></a></TD> 

      </tr>

 

The PERSON_ID field in this request is constant for each user/time the
table is displayed, but is not constant between instances. The
ORGANIZATION_ID field changes for each row of the table, and *is* the
same between instances.

 

I would rather not parse out the HTML and then manually construct these
requests - this should as much as possible be based on what the user
sees, not the underlying HTML. However, if I have to that's a
possibility.

 

Thanks,

Ian

 

________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of ?eljko Filipin
Sent: Monday, May 07, 2007 9:04 AM
To: wtr-general@rubyforge.org
Subject: Re: [Wtr-general] Using an ie.table.each do |row| loop when
thepagein the ie window refreshes itself

 

On 5/7/07, Ian Webb <[EMAIL PROTECTED]> wrote:

        I'm wondering if maybe there's a way to store the indices of the
buttons
        it's going to click on within the array, rather than the rows
        themselves. I tried buttons_to_click << row[5].link(:index,1),
but that 
        doesn't work.


Hi Ian,

I am not sure I understood what you want to do here (I need to see
html), but try changing

buttons_to_click << row[5].link(:index,1) 

to 

buttons_to_click << ie.row[5].link(:index,1)

Zeljko
--
ZeljkoFilipin.com 

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://rubyforge.org/pipermail/wtr-general/attachments/20070507/66a1a13d
/attachment-0001.html 

------------------------------

Message: 6
Date: Mon, 07 May 2007 15:20:13 CDT
From: Aaron <[EMAIL PROTECTED]>
Subject: [Wtr-general] Remote Watir
To: wtr-general@rubyforge.org
Message-ID:
        
<[EMAIL PROTECTED]
com>
        
Content-Type: text/plain; charset=ISO-8859-1

I am in the process of switching our test environment from Selenium to
Watir.
So, I am a newb with respect to Ruby and Watir.

Is there any thing in Watir or inherent in Ruby that would mimic the
capability of "Selenium Remote Control"?

In particular, we have a room full of Windows boxes with various flavors
of IE.
>From one central Linux box, we want to execute tests on all of the
Windows boxes concurrently.
This was trivial to do with the Selenium Remote Control server but I
have found nothing similar for Ruby/Watir yet.

Any ideas, or do I have to write my own proxy server in ruby to remotely
execute scripts and return results?

Thanks in advance.


------------------------------

_______________________________________________
Wtr-general mailing list
Wtr-general@rubyforge.org
http://rubyforge.org/mailman/listinfo/wtr-general

End of Wtr-general Digest, Vol 42, Issue 14
*******************************************
_______________________________________________
Wtr-general mailing list
Wtr-general@rubyforge.org
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to