<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments for CheezyWorld</title>
	<atom:link href="http://www.cheezyworld.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cheezyworld.com</link>
	<description>extremely cheezy</description>
	<lastBuildDate>Wed, 08 Feb 2012 21:18:46 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on page-object 0.5.4 released by cheezy</title>
		<link>http://www.cheezyworld.com/2011/12/18/page-object-0-5-4-released/#comment-611</link>
		<dc:creator>cheezy</dc:creator>
		<pubDate>Wed, 08 Feb 2012 21:18:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=1088#comment-611</guid>
		<description>Here&#039;s an example that demonstrates what you want:


&lt;code&gt; 
class MyPage
  include PageObject

  NAME = 0
  AMOUNT = 1

  table(:accounts, :id =&gt; &#039;account_id&#039;)

  def find_amount_for(account_name)
    row = accounts_element.find {&#124;row&#124; row[NAME].text == account_name}
    row[AMOUNT]
  end

end
&lt;/code&gt;

In the &lt;code&gt;find_amount_for&lt;/code&gt; method I&#039;m looking through each row attempting to match the first column&#039;s text with the provided value.  This returns the row.  Once I have the row I simply return the second column which has the amount.

Let me know if this is not clear.

-Cheezy</description>
		<content:encoded><![CDATA[<p>Here&#8217;s an example that demonstrates what you want:</p>
<p><code><br />
class MyPage<br />
  include PageObject</p>
<p>  NAME = 0<br />
  AMOUNT = 1</p>
<p>  table(:accounts, :id => 'account_id')</p>
<p>  def find_amount_for(account_name)<br />
    row = accounts_element.find {|row| row[NAME].text == account_name}<br />
    row[AMOUNT]<br />
  end</p>
<p>end<br />
</code></p>
<p>In the <code>find_amount_for</code> method I&#8217;m looking through each row attempting to match the first column&#8217;s text with the provided value.  This returns the row.  Once I have the row I simply return the second column which has the amount.</p>
<p>Let me know if this is not clear.</p>
<p>-Cheezy</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on page-object 0.5.4 released by Tatiana</title>
		<link>http://www.cheezyworld.com/2011/12/18/page-object-0-5-4-released/#comment-610</link>
		<dc:creator>Tatiana</dc:creator>
		<pubDate>Wed, 08 Feb 2012 20:58:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=1088#comment-610</guid>
		<description>Do you happen to have any examples of how to use tables? I did see your feature files but none of those really cover how someone would actually use a table when you don&#039;t know the exact rows and columns you will have. For example, I would want to do something like this:

Given I am on the results page
When the results table exists
And the row for &quot;Offshort Accounts&quot; is found
Then the column &quot;Valuation&quot; should be &quot;$2,410,905.00&quot;

In other words, I&#039;d want to cycle through the rows of a table to find one that had &quot;Offshore Accounts&quot; in its Name column. Then I would check the column &quot;Valuation&quot; in that same row for a specific value. It&#039;s not clear to me how to do that.

I looked through the source but it&#039;s not clear to me how the TableCell, TableRow and Table elements can be used together.</description>
		<content:encoded><![CDATA[<p>Do you happen to have any examples of how to use tables? I did see your feature files but none of those really cover how someone would actually use a table when you don&#8217;t know the exact rows and columns you will have. For example, I would want to do something like this:</p>
<p>Given I am on the results page<br />
When the results table exists<br />
And the row for &#8220;Offshort Accounts&#8221; is found<br />
Then the column &#8220;Valuation&#8221; should be &#8220;$2,410,905.00&#8243;</p>
<p>In other words, I&#8217;d want to cycle through the rows of a table to find one that had &#8220;Offshore Accounts&#8221; in its Name column. Then I would check the column &#8220;Valuation&#8221; in that same row for a specific value. It&#8217;s not clear to me how to do that.</p>
<p>I looked through the source but it&#8217;s not clear to me how the TableCell, TableRow and Table elements can be used together.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on page-object 0.5.4 released by Abe Heward</title>
		<link>http://www.cheezyworld.com/2011/12/18/page-object-0-5-4-released/#comment-606</link>
		<dc:creator>Abe Heward</dc:creator>
		<pubDate>Fri, 13 Jan 2012 18:27:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=1088#comment-606</guid>
		<description>Scratch that, it &lt;em&gt;is&lt;/em&gt; an element:

&lt;code&gt;my_workspace.my_workspace_information_options_element.exist?&lt;/code&gt;

I just now updated to 0.6, so maybe this will go away.

Also, can I get a &quot;.disabled?&quot; for checking if a field is read only?</description>
		<content:encoded><![CDATA[<p>Scratch that, it <em>is</em> an element:</p>
<p><code>my_workspace.my_workspace_information_options_element.exist?</code></p>
<p>I just now updated to 0.6, so maybe this will go away.</p>
<p>Also, can I get a &#8220;.disabled?&#8221; for checking if a field is read only?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on page-object 0.5.4 released by Abe Heward</title>
		<link>http://www.cheezyworld.com/2011/12/18/page-object-0-5-4-released/#comment-605</link>
		<dc:creator>Abe Heward</dc:creator>
		<pubDate>Fri, 13 Jan 2012 17:26:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=1088#comment-605</guid>
		<description>That&#039;s odd because I keep getting the deprecation warning for .exist?

It&#039;s hard to tell (since I&#039;m not yet sure what line in my code is throwing the warning) , but maybe it&#039;s not an Element I&#039;ve put that method on...</description>
		<content:encoded><![CDATA[<p>That&#8217;s odd because I keep getting the deprecation warning for .exist?</p>
<p>It&#8217;s hard to tell (since I&#8217;m not yet sure what line in my code is throwing the warning) , but maybe it&#8217;s not an Element I&#8217;ve put that method on&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on page-object 0.5.4 released by cheezy</title>
		<link>http://www.cheezyworld.com/2011/12/18/page-object-0-5-4-released/#comment-603</link>
		<dc:creator>cheezy</dc:creator>
		<pubDate>Fri, 06 Jan 2012 22:06:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=1088#comment-603</guid>
		<description>I will be adding methods that have been requested.  I think you will find that nearly everything is there already.  For example, .exist? is a method on Element.</description>
		<content:encoded><![CDATA[<p>I will be adding methods that have been requested.  I think you will find that nearly everything is there already.  For example, .exist? is a method on Element.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on page-object 0.5.4 released by Abe Heward</title>
		<link>http://www.cheezyworld.com/2011/12/18/page-object-0-5-4-released/#comment-602</link>
		<dc:creator>Abe Heward</dc:creator>
		<pubDate>Fri, 06 Jan 2012 20:55:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=1088#comment-602</guid>
		<description>Is it safe to assume you&#039;re going to be adding methods like &quot;.exist?&quot; and &quot;.present?&quot; before you make the switch over?</description>
		<content:encoded><![CDATA[<p>Is it safe to assume you&#8217;re going to be adding methods like &#8220;.exist?&#8221; and &#8220;.present?&#8221; before you make the switch over?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Playing the waiting game by cheezy</title>
		<link>http://www.cheezyworld.com/2011/10/01/playing-the-waiting-game/#comment-601</link>
		<dc:creator>cheezy</dc:creator>
		<pubDate>Thu, 05 Jan 2012 20:40:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=1009#comment-601</guid>
		<description>Abe,

I&#039;ll look into this.  It should be that hard.  In the mean while, would you mind going to the github site and opening up an issue? 

 Thanks
-Cheezy</description>
		<content:encoded><![CDATA[<p>Abe,</p>
<p>I&#8217;ll look into this.  It should be that hard.  In the mean while, would you mind going to the github site and opening up an issue? </p>
<p> Thanks<br />
-Cheezy</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Playing the waiting game by Abe Heward</title>
		<link>http://www.cheezyworld.com/2011/10/01/playing-the-waiting-game/#comment-600</link>
		<dc:creator>Abe Heward</dc:creator>
		<pubDate>Thu, 05 Jan 2012 18:13:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=1009#comment-600</guid>
		<description>Hey Cheezy,

Any chance you could add a generic &quot;wait_for_ajax&quot; method to your code, a la what&#039;s discussed here: 

http://agilesoftwaretesting.com/?p=111
and here:
http://tanin.nanakorn.com/watir/wait_for_ajax

Currently I&#039;ve added a kludge to the Watir::Browser class that looks like this:

&lt;code&gt;
    def wait_for_ajax(timeout=30)
      while !(self.execute_script(&quot;return jQuery.active == 0&quot;));end
      self.wait(timeout)
    end
&lt;/code&gt;

But I have no doubt that you&#039;ll be able to write something much better.

I find that writing custom wait statements all over the place is tedious and sometimes very complicated. Also, I generally find I can&#039;t use the stuff that you&#039;ve written because your framework model often doesn&#039;t fit into how and when I need to wait for stuff.</description>
		<content:encoded><![CDATA[<p>Hey Cheezy,</p>
<p>Any chance you could add a generic &#8220;wait_for_ajax&#8221; method to your code, a la what&#8217;s discussed here: </p>
<p><a href="http://agilesoftwaretesting.com/?p=111" rel="nofollow">http://agilesoftwaretesting.com/?p=111</a><br />
and here:<br />
<a href="http://tanin.nanakorn.com/watir/wait_for_ajax" rel="nofollow">http://tanin.nanakorn.com/watir/wait_for_ajax</a></p>
<p>Currently I&#8217;ve added a kludge to the Watir::Browser class that looks like this:</p>
<p><code><br />
    def wait_for_ajax(timeout=30)<br />
      while !(self.execute_script("return jQuery.active == 0"));end<br />
      self.wait(timeout)<br />
    end<br />
</code></p>
<p>But I have no doubt that you&#8217;ll be able to write something much better.</p>
<p>I find that writing custom wait statements all over the place is tedious and sometimes very complicated. Also, I generally find I can&#8217;t use the stuff that you&#8217;ve written because your framework model often doesn&#8217;t fit into how and when I need to wait for stuff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Those pesky frames and iframes by cheezy</title>
		<link>http://www.cheezyworld.com/2011/08/08/those-pesky-frames-and-iframes/#comment-595</link>
		<dc:creator>cheezy</dc:creator>
		<pubDate>Tue, 27 Dec 2011 20:13:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=970#comment-595</guid>
		<description>Steve,

There are actually two public &lt;code&gt;in_frame&lt;/code&gt; methods.  The one in &lt;code&gt;accessors.rb&lt;/code&gt; is the one that is available at a class level.  It is used to declare that elements will be found in a frame when you call the generated methods for the element.  The method in &lt;code&gt;page_object&lt;/code&gt; is an instance level method that can be used to identify items found in the frame at runtime.  The second one can also be used with the Javascript popups if they are attached to a DOM from a frame.  Hope this helps.

-Cheezy</description>
		<content:encoded><![CDATA[<p>Steve,</p>
<p>There are actually two public <code>in_frame</code> methods.  The one in <code>accessors.rb</code> is the one that is available at a class level.  It is used to declare that elements will be found in a frame when you call the generated methods for the element.  The method in <code>page_object</code> is an instance level method that can be used to identify items found in the frame at runtime.  The second one can also be used with the Javascript popups if they are attached to a DOM from a frame.  Hope this helps.</p>
<p>-Cheezy</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Those pesky frames and iframes by Steve McKay</title>
		<link>http://www.cheezyworld.com/2011/08/08/those-pesky-frames-and-iframes/#comment-594</link>
		<dc:creator>Steve McKay</dc:creator>
		<pubDate>Tue, 27 Dec 2011 14:45:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.cheezyworld.com/?p=970#comment-594</guid>
		<description>I&#039;m trying to understand how this in_frame stuff works since I have a series of issues with it. In your code base, you have in_frame declared in four places:

The two page_object.rb files (under watir_webdriver and selenium_webdriver) make sense. Those are the specific implementations of how frames are recognized for each driver.

But you have what appear to be identical methods called in_frame. One is in page_object.rb (the main one in the lib directory) and the others is in the accessors.rb file. The former makes sense: it&#039;s calling the platform-specific ones mentioned above. So when is the one in accessors.rb called?</description>
		<content:encoded><![CDATA[<p>I&#8217;m trying to understand how this in_frame stuff works since I have a series of issues with it. In your code base, you have in_frame declared in four places:</p>
<p>The two page_object.rb files (under watir_webdriver and selenium_webdriver) make sense. Those are the specific implementations of how frames are recognized for each driver.</p>
<p>But you have what appear to be identical methods called in_frame. One is in page_object.rb (the main one in the lib directory) and the others is in the accessors.rb file. The former makes sense: it&#8217;s calling the platform-specific ones mentioned above. So when is the one in accessors.rb called?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

