我的页面中有2个表单。第一个表单有一个字段“Username”,第二个表单有一个字段“Username:”。
运行 fill_in label, :with => value
时(label =“Username:”),标记为“用户名”的输入框将被填充。
我将“用户名:”更改为“用户名:”,但即使这样,“用户名”也会被填充。
我做错了什么?
答案 0 :(得分:3)
如果我理解正确,您的页面上有2个不同表格的2个同名文字输入。
我相信fill_in some_field
会查找名称或ID与some_field
匹配的输入,而不是阅读附加标签。 编辑:它确实会寻找附加标签 - 感谢AlistairH进行更正
我建议获得所需行为的最佳方法是使用within
块:
within 'form1' do
fill_in 'Username', :with => value
end
将'form1'替换为包含您要定位的文本框的任何形式的名称。
我认为这比依靠空格或冒号的存在更能可靠和可读,以区分页面上几乎同名的元素