我正在使用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
或文字。
提前感谢您的帮助!
答案 0 :(得分:1)
在页面模型上定义一个方法,该方法将提取您尝试断言的值。此方法将包含元素定义,然后在元素定义的末尾包含.text或.value。在这里你可以使用value =“1”或title。
在步骤定义中,调用方法并断言返回的值等于“Administrator”。