gpt4 book ai didi

ruby-on-rails - Webrat 说它找不到一些文本,但文本实际上在那里

转载 作者:行者123 更新时间:2023-11-28 19:58:35 24 4
gpt4 key购买 nike

我有一个网页,上面有一个名为“删除”的表单按钮,以及一个包含以下行的 cuke 场景:

And I should see "delete"

当我运行该场景时,出现此错误:

expected the following element's content to include "delete"

...并将 webrat 页面转储到标准输出,而“删除”实际上不存在。到目前为止,一切都很好。但是,当我告诉 webrat 在错误发生之前向我显示页面时:

Then show me the page
And I should see "delete"

...Safari 启动并显示页面,在 Safari 中有“删除”按钮,就在那里。

为什么 webrat 找不到表单按钮?我在表单字段方面也遇到过同样的问题,例如页面加载时其中包含值的文本输入,但 webrat 说那里什么也没有。在 Safari 中查看它再次表明该字段中确实包含正确的文本。

这是一个错误,还是 webrat 不适合检查表单元素?有没有不同的方法来做到这一点?谢谢!

最佳答案

您可以通过编写自己的步骤定义来检查表单元素。例如,要查找值为“删除”的按钮,请将您的功能编写为:

我应该看到一个值为“delete”的按钮

还有一个步骤定义:

Then /^I should see a button with a value of "([^\"]*)"$/ do |value|
response.should have_selector("form input[value=#{value}]")
end

作为旁注,您会注意到,如果您的自定义步骤失败,它将转储整个响应,然后您将看到表单元素。我不完全确定这是为什么,但显然当您写“我应该看到...”时,Cucumber 与表单元素的值不匹配

Webrat声称支持CSS3 selectors用于在使用 have_selector 语法时匹配 HTML 元素。

关于ruby-on-rails - Webrat 说它找不到一些文本,但文本实际上在那里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com