在测试失败的任何时候使用 watir 中的记录器记录异常

log exception using logger in watir for any time a test fails

我尝试了很多变体来尝试访问复选框。从此示例中可以看出:ID 是一个 guid,因此它不会有价值。如果您有解决方案,请提供帮助。谢谢。:

browser.checkbox(:id, "05ae82c2-5725-4ed7-926e-01be3165bfa2").set

我想是这样的:

browser.checkbox(:label, "Ven_Q8").set 

可以工作,但控制台显示此错误:

`assert_exists': unable to locate element, using {:label=>"Ven_Q8", :tag_name=>"input", :type=>"checkbox"} (Watir::Exception::UnknownObjectException)

<div class="form-box">
<div class="form-body clearfix">
<form class="validate form-horizontal" method="post"
<div class="form-content">
<div class="form-group">
<label class="col-sm-3 control-label">Associated</label>
<div class="col-sm-4 list-height">
    <div class="checkbox checkbox-replace neon-cb-replacement checked">
    <label>
    <label class="cb-wrapper">
    <input id="2ebb65b6-1048-4b0e-acf6-88b128a1e26b" type="checkbox" checked="checked" value="2ebb65b6-1048-4b0e-acf6-88b128a1e26b" name="VendorOptions">
    <div class="checked"></div>
    </label>
    <label>Ven_Q8</label>
    </label>
    </div>

browser.checkbox(:label, "Ven_Q8").set 抛出 unable to locate element 错误,因为 <input id="2ebb65b6-1048-4b0e-acf6-88b128a1e26b" type="checkbox" checked="checked" value="2ebb65b6-1048-4b0e-acf6-88b128a1e26b" name="VendorOptions"> 没有标签属性。

要选中该复选框,我建议使用 name 属性找到 <input>:

b.checkbox(name: "VendorOptions").set