硒黄瓜,测试禁用的元素是否被禁用

时间:2018-01-25 16:00:48

标签: ruby selenium cucumber

我有一个包含列的表,应该启用或禁用td:

 <tr><td>
<i aria-hidden="true" title="Already Assigned" class="glyphicon glyphicon-log-out icon-spacing assigned"></i>
</tr></td>
....

<tr><td>
<i aria-hidden="true" title="Assign to Self" class="glyphicon glyphicon-log-out icon-spacing"></i>
<tr><td>

我想测试是否所有我分配的类都被禁用了,我只尝试了一次我不知道如何收集所有这些而不是测试(断言或期望),我做了黄瓜:

Then element having class "assigned" should be disabled

但它没有用,我得到了:

Then element having class "assigned" should be disabled
selenium-cucumber-3.1.5/lib/selenium-cucumber/assertion_steps.rb:31
expected false
     got true
 (RSpec::Expectations::ExpectationNotMetError)

请帮助您。 感谢。

2 个答案:

答案 0 :(得分:0)

disabled属性实际上仅与INPUT标记相关。你可以做几件事......

  1. 验证元素上是否存在assigned类。这假设assigned类是唯一控制链接是否被禁用的控件。您必须决定这是否是安全的赌注。我刚才注意到的另一个变化是,您可以看到标题是&#34;已经分配了#34; ......这可能是另一种或另一种验证方式。

  2. 再次点击该链接,验证该网站的行为是否与启用该链接的行为相同。我不知道该行为可能是什么......对话框打开,页面更改的一部分等。如果更改没有发生,您可以安全地假设该按钮已被禁用。我认为这可能是两种选择中更安全,更可靠的。

答案 1 :(得分:0)

要确认 td 启用还是禁用,您可以使用黄瓜重新定义测试(断言或期望),如下所示:

Then element having title "Already Assigned" should contain the class "disabled"