我面临一些奇怪的问题。我使用水豚,黄瓜和恶作剧为我的rails应用程序编写了一个测试用例。请参阅下面的代码..
@javascript
Scenario: admin can search multiple users when different oinkcodes exist
Given a "admin" user exists and is signed in
And the following users with an oinkcode exist:
| email | oinkcode |
| berf@berf.com | 5f9614e97a5610f99c7d0975a73de43f2414fc96 |
| sample@berf.com | asd2455a5610f99c7d0975a73de43f2414fc9812 |
When I goto "/oinkcodes/search"
And I fill in "query" with the following lines of text:
| text |
|5f9614e97a5610f99c7d0975a73de43f2414fc96|
|asd2455a5610f99c7d0975a73de43f2414fc9812|
And I click "Go"
And I wait for index # sleep for 10 sec
#And I do some debugging
Then I should see "berf@berf.com"
And I should see "sample@berf.com"
在上面的例子中,当我点击' Go',通过javascript我得到用户的电子邮件地址。当我运行此测试时,它失败了,因为找不到内容(RuntimeError)" ........当我尝试通过pry进行调试时。
pry(#<Cucumber::Rails::World>)> page.body
Result: <h3>Users</h3>\n <textarea class=\"text_area\" id=\"users\" rows=\"15\" cols=\"60\" readonly=\"\"> berf@berf.com\n sample@berf.com\n</textarea>\n
pry(#<Cucumber::Rails::World>)> find_field('users').value
=> " berf@berf.com\n sample@berf.com\n"
[4] pry(#<Cucumber::Rails::World>)> page.has_content?('berf@berf.com')
=> false
我不明白,为什么page.has_content?当我在page.body或find_field(&#39; users&#39;)中看到那些内容时,它会返回false。值......任何人都可以帮我这个吗?提前致谢
答案 0 :(得分:0)
google 1-2天后我得到了答案。在Capybara中有一个错误,当文本区域填充了javascript时,当我们尝试时,水豚会返回false:
page.has_content?
即使我们可以在UI中看到结果。 请参阅链接:https://groups.google.com/forum/#!topic/ruby-capybara/4K_EuQO71Ig