当元素的不同行为的 ID 相同时出现断言错误

Assertion error when IDs are same for different behaviors of an element

我正在研究基于角色的访问情况,有点卡在断言上。

对于完全访问,字段如下所示

<input class="clickable_input clickable_timeholder ui-autocomplete-input ui-widget ui-widget-content ui-corner-left hidden" data-old-value="12:00 am" type="text" value="12:00 am" name="program_constraint[event_window_constraints_attributes][0][local_start_time]" id="program_constraint_event_window_constraints_attributes_0_local_start_time" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true">

对于只读访问字段是这样的

<input class="hidden clickable_input clickable_timeholder" data-old-value="12:00 am" type="text" value="12:00 am" name="program_constraint[event_window_constraints_attributes][0][local_start_time]" id="program_constraint_event_window_constraints_attributes_0_local_start_time"></input>

我只想使用 1 个具有完全访问权限的选择器,然后检查是否存在以通过或不通过案例。

我最终遇到以下断言错误,主要是因为两个条件使用相同的 ID,唯一的区别在于它们的 class 名称。我还没有找到一个很好的例子来处理这个问题。工作一周后 w/TestCafe,我对 DOM 模型的理解非常好,我似乎无法将其有效地整合到页面模型中并不断碰壁。

expected true to be falsy

这是我在页面模型中的选择器定义:

this.eventWindowStartTime = Selector("#program_constraint_event_window_constraints_attributes_0_local_start_time")

我的断言测试代码

await t.expect(programOptionsConstraintsPage.eventWindowStartTime.exists).notOk()

您可以使用 filter 方法仅查找具有特定 css class.

的元素

例如:

Selector('#input_id').filter('.ui-widget')