gpt4 book ai didi

ruby - 站点棱镜, capybara : Selector with variable

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:28 25 4
gpt4 key购买 nike

我正在研究 site_prism在 capybara 中实现页面对象模型。看起来很有趣。

我如何指定一个选择器,例如“[data-id='x']”,其中 x 是一个整数?像这样:

class Home < SitePrism::Page
set_url "http://www.example.com"
element :row, "[data-id='@id']"
end

然后在我的测试中:

Then /^the home page should contain a row$/ do
@home.should have_row 1234
end

最佳答案

因为 SitePrism 在定义元素时设置元素定位器,所以您的建议不起作用。要实现您的要求,请查看以下内容:

class Home < SitePrism::Page
elements :rows, "tr[data-id]"

def row_ids
rows.map {|row| row['data-id']}
end
end

它们不是映射单个行,而是全部映射(使用 elements 而不是 element)。名为 row_ids 的单独方法收集所有具有“data-id”值的行,将所有这些值映射到一个新数组中,然后返回该新数组。

测试将包含如下内容:

Then /^the home page should contain a row$/ do
@home.row_ids.should include @id
end

...这将检查是否存在 ID 与 @id 匹配的行。

不是很漂亮,但应该可以。

关于ruby - 站点棱镜, capybara : Selector with variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10825804/

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