验证列表中是否存在选项?

时间:2014-10-15 19:39:28

标签: ruby automation cucumber qa

我正在使用Cucumber和SitePrism编写自动化测试。一个测试将用户角色添加到列表中,我在最后的步骤中无法验证角色的存在(以验证它是否已成功分配)。

小黄瓜是......

Scenario: Assigning roles to a user
   Given I have reached the user edit view in the admin
   When I click the Assign Roles tab
     And select the first value in the Add Role dropdown
     And click Add role
   Then I should receive the message of save successful
     And the role should be present in the current role list

... And the role should be present in the current role list是我遇到麻烦的一步。执行And click Add role步骤后,列表的HTML显示为......

<dd>
  <select id="current-role-a02322d1-8add-4234-aeca-02d3fca2a239" class="current-role" name="role_id" multiple="multiple">
    <option title="System Administrator Role" value="1">Administrator</option>
  </select>
</dd>

这个我坚持下去。如何在页面模型上设置元素,以及我在步骤定义中编​​写什么来验证<option title="System Administrator Role" value="1">Administrator</option>是否存在,如果不存在则使步骤失败?我希望检查value="1"而不是title或文字。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

在页面模型上定义一个方法,该方法将提取您尝试断言的值。此方法将包含元素定义,然后在元素定义的末尾包含.text或.value。在这里你可以使用value =“1”或title。

在步骤定义中,调用方法并断言返回的值等于“Administrator”。