Tag: 水豚

如何模仿与水豚鼠标hover

基本上,我试图做的是点击一个button,变得可见时,hover另一个元素(其父)。 我试图在隐藏button的父级上使用trigger.('mouseover') ,但这似乎不起作用。 这是来自spec的代码片段: # label[for … ] -> the parent element page.execute_script("$('label[for=\"department_#{department.id}\"]').trigger(\"mouseover\")") # le hidden button find(".actions").click # some <li> on a list that drops down when clicking the hidden button click_on("Edit department") 而错误… Failure/Error: click_on("Edit department") Selenium::WebDriver::Error::ElementNotVisibleError: Element is not currently visible and so may not be interacted with 我想知道如何使页面上的.actionsbutton可见,以便之后点击它。 任何帮助将非常感激。

我怎样才能看到在失败的黄瓜步骤发现什么水豚?

我开始从黄瓜+ webrat迁移到黄瓜+水豚。 现在“我应该看到”的行为似乎有些不同。 现在大部分失败了,虽然我没有改变页面上的任何东西。 我用一些在每个页面上的内容replace了应该find的代码片段,并且replace了其中一些文本和其他文本。 我无法find页面内容中find什么模式,什么不是。 Webrat用于打印它find的页面内容,以防它包含所需的短语。 有反正有水豚显示它从哪里试图find文本的页面得到的文本?

黄瓜和水豚,点击一个非链接或button元素

我试图使用黄瓜/水豚/selenium堆testing就地编辑器,但我的问题是,通过单击一个div而不是一个链接或button来激活编辑器。 我似乎无法弄清楚如何让水豚做到这一点。 有没有办法做到这一点?

获得水豚testing的下拉select值

我必须为网站编写testing。 我正在尝试获取下拉框的选定值。 到目前为止,我可以通过做下拉菜单的内容 find_field('restrictions__rating_movies').text 返回 – 不允许电影G PG M R13 R15 R16 R18 R RP16允许所有电影 我可以得到所选对象的值。 find_field('restrictions__rating_movies').value 返回 – 1000 这并不帮助我很多,因为我试图从下拉框中获取所选项目的文本。 <select class="" id="restrictions__rating_movies" name="restrictions[][rating_movies]"> <option value="0">Don't Allow Movies</option> <option value="100">G</option> <option value="200">PG</option> <option value="300">M</option> <option value="325">R13</option> <option value="350">R15</option> <option value="375">R16</option> <option value="400">R18</option> <option value="500">R</option> <option value="600">RP16</option> <option value="1000" selected="selected">Allow All Movies</option></select> 在这种情况下显示我需要得到值'允许所有电影'我已经尝试了上述两个例子的许多不同的组合。

表格提交后,水豚不通过标题

我正在构build一个Rails 3应用程序,它为移动设备(使用jQuery Mobile)和普通的桌面浏览器呈现不同的视图。 我正在testing黄瓜/水豚,并有单独的testing套件的移动和浏览器。 我可以在请求的HTTP头中设置一个移动的用户代理string,只需使用这里find的“头文件黑客”就可以了。 在Rails 3中使用Cucumber / Capybara,如何设置自定义的User-Agentstring? 问题… 我的移动黄瓜步骤大部分工作正常(例如,我设置移动头一步,其次移动视图呈现)。 然而,在表单提交之后,testing会呈现下一步的浏览器视图(而不是我想要的移动视图)。 我认为这可能是因为水豚在表单提交行为之后丢弃标题。 我试图通过添加一个logging器到我的控制器动作来testing这个,所以我可以看看user_agent头,如下所示: def show # … logger.info("Headers: #{request.user_agent}") # … end 我用iPhone头(买方是资源)。 在我的test.log中,我看到: 对于创build操作… Started POST "/buyers" for 127.0.0.1 at 2011-04-19 16:49:18 -0700 Processing by BuyersController#create as HTML #… Headers: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 […]

为什么不为Rspec + Selenium使用共享的ActiveRecord连接?

看来,处理Selenium和testing的最普遍接受的方式是避免使用事务性的装置,然后在testing/场景之间使用诸如database_cleaner之类的东西。 我最近碰到下面的文章 ,build议做以下几点: spec_helper.rb class ActiveRecord::Base mattr_accessor :shared_connection @@shared_connection = nil def self.connection @@shared_connection || retrieve_connection end end # Forces all threads to share the same connection. This works on # Capybara because it starts the web server in a thread. ActiveRecord::Base.shared_connection = ActiveRecord::Base.connection 这似乎比替代品更好的性能。 有没有人有任何理由为什么不应该使用?

如何模拟在Capybara和ChromeDriver的input字段中input?

我有以下帮助方法来input一个string到input字段,然后按回车键,但似乎回车键从来没有按下。 我看到input字段中input的string,但敲击input时发生的事件从未发生过。 我已经在实际的浏览器中testing过了,input键正确地触发了预期的事件。 我不知道我错过了什么。 def fill_and_trigger_enter_keypress(selector, value) page.execute_script %Q( var input = $('#{selector}'); input.val('#{value}'); input.trigger("keypress", [13]); ) end 编辑: 我也试过以下无济于事: find('#q_name').native.send_keys(:return) find('#q_name').native.send_keys(:enter) 他们不会造成任何错误,但仍然没有input按键。

callbackredirect不保存会话

我有一个场景,当我使用真正的omniauth工作得很好,但失败时,我用黄瓜/水豚模拟身份validation运行它。 在callback中,当我做sign_in @user ,它成功创build用户并login…设置了current_user 。 但是,当我然后做redirect_to request.env['omniauth.origin'] || '/' redirect_to request.env['omniauth.origin'] || '/' ,在current_user的动作中, current_user现在是零。 我已经通过截图/暂停浏览器证实,它不与模拟身份validation工作。 在Firefox和Chrome驱动程序中发生同样的错误。 任何想法,为什么会发生这种情况? /features/support/env.rb: Cucumber::Rails::Database.javascript_strategy = :truncation 场景: @javascript Scenario: Given I am on the home page When I press "Login" And I should see "Login with Twitter" in the selector "#login-modal" Given Omniauth returns a user with provider "twitter" […]

如何填补与水豚隐藏的领域?

我已经发现,当我想要设置值的文本字段,文本区域或密码字段,我可以使用ID,名称或标签作为fill_in something, :with => some_value 。 但是,当我尝试将值设置为<input type="hidden">字段(并且我想这样做,因为这些字段通常是我单独testing的客户端脚本),则此方法失败。 我怎么能用水豚设置这样一个隐藏的领域? 可能吗? HTML: <input id='offer_latitude' name='offer[latitude]' type='hidden'> <input id='offer_longitude' name='offer[longitude]' type='hidden'> 规格: describe "posting new offer" do it "should add new offer" do visit '/offer/new' fill_in 'offer[latitude]', :with => '11.11' fill_in 'offer[longitude]', :with => '12.12' click_on 'add' end end 得到: 1) posting new offer should add new […]

水豚与:js =>真实导致testing失败

我是新来的水豚和一般的Railstesting,所以请原谅我,如果这是一个简单的答案。 我有这个testing it "should be able to edit an assignment" do visit dashboard_path select(@project.client + " – " + @project.name, :from => "assignment_project_id") select(@team_member.first_name + " " + @team_member.last_name, :from => "assignment_person_id") click_button "Create assignment" page.should have_content(@team_member.first_name) end 它按原样传递,但如果添加:js => true,则失败 cannot select option, no option with text 'Test client – Test project' in select […]