我试图断言当点击具有唯一ID的按钮时标签会发生变化,但不会变得非常远。我正在使用的应用程序为一个已经链接了函数和标签的行分配一个id,到目前为止,我可以使用行id通过按钮修改,删除和更新状态,但不能断言标签更改。
我用来提取id的代码是;
@@grabelement = $browser.hidden(:name, "contentHeadingID")
@@id = @@grabelement.value
puts @@id
然后我使用下面的代码点击更新显示状态标签的按钮
form_element = $browser.hidden(:name => 'contentHeadingID', :value => "#{@@id}").parent
form_element.button(:value => 'Change').click
状态标签包含在相同的代码结构中
<input type="submit" name="publish" value="Change" class="btn btn-mini btn-secondary" style="float:right">
<input type="hidden" name="contentHeadingID" id="8" value="8">
<input type="hidden" name="published" id="Yes" value="Yes">
点击更改后,ID和值将更新为“否”,标签将从“未发布”更改为“已发布”(反之亦然)
我尝试的代码是;
if
form_element = $browser.hidden(:id => 'Yes', :value => "#{@@id}").parent
form_element.id(:value => 'Yes') == true
puts "Published status updated"
else
puts "failed"
end
任何帮助都会很棒
答案 0 :(得分:0)
我认为您正在查看form_element是否包含一个隐藏元素,其中包含ID&#34; No&#34;,value&#34; No&#34;和名称&#34;已发布&#34;。您可以创建一个与该特定元素匹配的定位器,并检查它是否存在:
form_element = $browser.hidden(:id => 'Yes', :value => "#{@@id}").parent
if form_element.hidden(:id => 'No', :value => 'No', :name => 'Published').exists?
puts "Published status updated"
else
puts "failed"
end
请注意,您必须使用.exists?
代替present?
或visible?
,因为隐藏的元素永远不可见。