capybara功能规格悬停+点击

时间:2016-05-05 10:33:12

标签: ruby-on-rails rspec capybara poltergeist

我正在使用rspec + capybara + poltergeist。当我尝试模拟悬停,然后单击一个元素,我收到一个错误。问题应该是一起使用它们,因为当我从悬停后面删除点击时它不会抛出任何错误。

我该如何做到这一点?

SET DEFINE OFF;
SET AUTOCOMMIT 1000;
SET FEEDBACK OFF;

Insert into table (col1,..col20) values ('val1',...'val2');
Insert into table (col1,..col20) values ('val1',...'val2');
...
...

1 个答案:

答案 0 :(得分:1)

#hover不会返回调用它的元素。因此,您可以存储您找到的元素

within "#postcomment-#{post_comment.id}" do
  body = page.find(".post-comment-body")
  body.hover
  body.find("#activate-comment-edit-#{post_comment.id}").click
end  

或保持一行

within "#postcomment-#{post_comment.id}" do
  page.find(".post-comment-body").tap(&:hover).find("#activate-comment-edit-#{post_comment.id}").click
end