无法读取黄瓜中的复选框值

Unable to read checkbox value in cucumber

我是自动化(Cucumber)的新手,对编码的了解很少。我正在寻找可以单击复选框或单选按钮的脚本。下面是我正在查看的 HTML 代码:

<"input class="facetoption" type="checkbox" value="facets.price_range%5B%5D=Rs.+2000+and+Below" autocomplete="off">

下面是我试过的步骤定义

Step definition:

Then(/^Select the first Price Range Option$/) do
  @browser.checkbox(:value => 'facets.price_range5B%5D=Rs.+2000+and+Below').click
end

我不知道您为什么要尝试按值查找复选框。更好的选择是通过 id 或 class:

查找复选框
find('input#id').click()

如果您仍想按值查找复选框,请使用:

find(:xpath, "input[@value='John']").click()

定位器中的值与 <input> 标记中的值不匹配。比较字符串,你会发现它们是不同的。

你的HTML:"facets.price_range%5B%5D=Rs.+2000+and+Below"

您的代码:"facets.price_range5B%5D=Rs.+2000+and+Below"

将您的步骤定义更新为以下内容,它应该可以工作:

Then(/^Select the first Price Range Option$/) do
  @browser.checkbox(:value =>'facets.price_range%5B%5D=Rs.+2000+and+Below').click
end

使用正则表达式,这样您就可以专注于重要的部分,而忽略不重要的部分

@browser.checkbox(:value => /2000\+and\+Below/).click