Я пытаюсь щелкнуть боковую панель со следующей структурой:
<div class=“sidebar”>
<nav class=“subnav”>
<ul>
<li>
<a class=“subnav-toggle”></a>
<div>
<ul>
<li class=subnav-item>…</li>
<li class=subnav-item>…</li>
<li class=subnav-item>…</li>
</ul>
</div>
</li>
<li>…</li>
<li>…</li>
<li>…</li>
<li>…</li>
</ul>
</nav>
</div>
и я создал следующую модель страницы:
(Примечание: я хочу, чтобы элементы меню более высокого уровня отображались на панели навигации, а не на втором уровне <li>
)
import { Selector } from 'testcafe';
export class PageModel {
constructor () {
this.firstItem = Selector('.subnav > ul > li').nth(0);
this.secondItem = Selector('.subnav > ul > li').nth(1);
...
}
}
наконец, мой тестовый сценарий выглядит следующим образом:
import { PageModel } from 'myclass';
const a_item = new PageModel();
...
test ('Sample test', async t => {
await t
.hover(a_item.firstItem);
});
Testcafe успешно нависает над выбранным мной элементом. Однако я получаю сообщение об ошибке TypeError: Cannot read property 'createElement' of null
.
Как мне решить эту проблему?
** Обновлять **
Я обновил свой запрос на основе запроса, который я поместил на консоль.
document.querySelectorAll('.subnav > ul > li')
NodeList(8) [li, li, li, li, li, li, li, li]