小编Žel*_*pin的帖子

WatiN清除浏览器缓存

似乎ClearCache方法在WatiN中对IE不起作用.至少,它对你已经缓存的东西不起作用因为你打开了实例.

有什么建议?

我尝试使用ReOpen,但它出错了.它似乎也做同样的事情

Browser.Close();
Browser = new IE();
Run Code Online (Sandbox Code Playgroud)

这很慢.我的测试只花了两倍的时间来运行(这是清除缓存的唯一当前解决方法).

提前致谢.

.net c# caching watin

3
推荐指数
1
解决办法
2904
查看次数

Selenium :: WebDriver :: Error :: MoveTargetOutOfBoundsError:元素无法滚动到视图中:[object HTMLSpanElement]

这个页面上发生了一些奇怪的事情:

require "watir-webdriver"
b = Watir::Browser.new
b.goto "http://mideastunes.com/"
b.div(class: "feat-container").element(css: "a span").present?
 => true 
b.div(class: "feat-container").element(css: "a span").click

Selenium::WebDriver::Error::MoveTargetOutOfBoundsError: Element cannot be scrolled into view:[object HTMLSpanElement]
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/response.rb:52:in `assert_ok'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/response.rb:15:in `initialize'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/http/common.rb:59:in `new'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/http/common.rb:59:in `create_response'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/http/default.rb:64:in `request'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/bridge.rb:590:in `raw_execute'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/bridge.rb:568:in `execute'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/remote/bridge.rb:350:in `clickElement'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/selenium-webdriver-2.19.0/lib/selenium/webdriver/common/element.rb:34:in `click'
    from /Users/zeljko/.rvm/gems/ruby-1.9.2-p290@gretel/gems/watir-webdriver-0.5.3/lib/watir-webdriver/elements/element.rb:107:in `click'
    from (irb):48
    from /Users/zeljko/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我想点击这个范围:

<span class="feature-prev-icon icon"></span>
Run Code Online (Sandbox Code Playgroud)

我可以点击它:

b.span(class: "feature-prev-icon icon").click
Run Code Online (Sandbox Code Playgroud)

但是我想点击它:

b.div(class: "feat-container").element(css: "a span").click
Run Code Online (Sandbox Code Playgroud)

环境:Mac OS X …

watir watir-webdriver

3
推荐指数
1
解决办法
1万
查看次数

动态页面网址

我有一个带有动态 URL 的页面。我们称之为查看帖子页面。帖子 1 的网址是site.com/post/1帖子 2 的网址是site.com/post/2

这就是我现在所做的检查我是否在正确的页面上。

这一页:

class ViewPostPage
  include PageObject

  def self.url
    "site.com/post/"
  end
end
Run Code Online (Sandbox Code Playgroud)

黄瓜步骤:

on(ViewPostPage) do |page|
  @browser.url.should == "#{page.class.url}#{@id}"
end
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?你甚至费心检查整个 URL,还是只检查site.com/post/一部分?

我正在使用最新的页面对象gem (0.6.6)。

更新

更大的问题是直接转到具有动态 URL 的页面。

这一页:

class ViewPostPage
  include PageObject

  def self.url
    "site.com/post/"
  end
  page_url url
end
Run Code Online (Sandbox Code Playgroud)

黄瓜步骤:

visit ViewPostPage
Run Code Online (Sandbox Code Playgroud)

我现在要做的是将 Cucumber 步骤更改为:

@browser.goto "#{ViewPostPage.url}#{@id}"
Run Code Online (Sandbox Code Playgroud)

如果有一种方法可以让页面知道它的 ID,那就太好了,但我还没有想出如何去做。

ruby watir-webdriver pageobjects page-object-gem

3
推荐指数
1
解决办法
1979
查看次数

使用watir获取未定义的方法`set'用于下拉列表

require 'watir'  

ie = Watir::Browser.new  
ie.goto "http://www.wallpapers.com/windows/Wallpapers/Animals/Dogs"  


ie.select(:id, "ctl00_CPH1_ctl00_ddlSortExpression").flash   
ie.select(:id, "ctl00_CPH1_ctl00_ddlSortExpression").set("Newest")  


C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-classic-3.0.0/lib/watir-classic/element.rb:433:in `method_missing': undefined method `set' for #<Watir::SelectList:0x31be0b8> (NoMethodError)
        from sample.rb:9:in `<main>'
Run Code Online (Sandbox Code Playgroud)

也试过相同的结果:

ie.select(:id, "ctl00_CPH1_ctl00_ddlSortExpression").to_subtype.set("Newest") 
Run Code Online (Sandbox Code Playgroud)

watir

3
推荐指数
1
解决办法
1338
查看次数

2
推荐指数
1
解决办法
593
查看次数

Watir :: Exception :: MissingWayOfFindingObjectException:无效属性:: css

我很确定watir-webdriver有css选择器支持,但看起来它不再存在了:

$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]

$ gem -v
1.8.15

$ gem list selenium-webdriver
*** LOCAL GEMS ***
selenium-webdriver (2.17.0)

$ gem list watir-webdriver
*** LOCAL GEMS ***
watir-webdriver (0.4.1)

$ irb
> require "watir-webdriver"
 => true 

> browser = Watir::Browser.new :firefox
 => #<Watir::Browser:0x787eb29124fb7658 url="about:blank" title=""> 

> browser.goto "google.com"
 => "http://www.google.com.mx/" 

> browser.a(:css => "a").flash
Watir::Exception::MissingWayOfFindingObjectException: invalid attribute: :css
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:228:in `assert_valid_as_attribute'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:209:in `normalize_selector'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:191:in `block in normalized_selector'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:188:in `each'
    from /Users/zeljko/.rvm/gems/ruby-1.9.3-p0/gems/watir-webdriver-0.4.1/lib/watir-webdriver/locators/element_locator.rb:188:in `normalized_selector' …
Run Code Online (Sandbox Code Playgroud)

css watir css-selectors watir-webdriver

2
推荐指数
1
解决办法
6453
查看次数

Watir: - 点击图片按钮?

我使用的是firefox,我修改了它的用户代理,使其行为像iphone web浏览器.现在,当我使用watir打开google.com时,现在我想点击searh按钮,这是移动视图中的图像.怎么做.

user-agent browser-automation watir firewatir

1
推荐指数
1
解决办法
3829
查看次数

如何使用Ruby模拟Web会话并存储收到的cookie?

我正在测试使用单点登录(SSO)的消息传递应用程序.我需要模拟使用SSO连接到WAM的用户,然后我需要从服务器获取cookie并将其存储以用于进一步的通信事件.是否有人熟悉如何使用Ruby完成此操作?

ruby testing single-sign-on

1
推荐指数
1
解决办法
918
查看次数

通过`gem install`或`gem update`安装了多少次Ruby gem

我试图找出通过gem install或安装宝石的次数gem update.

例如,Watir 1.6.2:

我被告知4,027不包括通过gem install或安装gem update.这些信息是否正确?如果是,我在哪里可以找到gem installgem update?的数字?我看到了我想到的rubyforge的所有地方,但没有运气.

ruby statistics rubygems gemcutter rubyforge

0
推荐指数
1
解决办法
351
查看次数

我需要生成一个随机日期,MM/DD/YYYY

我需要生成一个随机日期.我的计算时间不需要时间.我想要使​​用的是:

def date_rand from = 0.0, to = Time.now
  Time.at(from + rand * (to.to_f - from.to_f))
end
Run Code Online (Sandbox Code Playgroud)

这让我很接近,但有一堆我不需要的其他信息.(时间,区域等)如果有办法在没有所有其他数据的情况下获取日期,我将非常感谢您对它的了解.

ruby

0
推荐指数
1
解决办法
1691
查看次数