Как я могу найти имя класса элемент с несколькими классами в кипарис - PullRequest
1 голос
/ 01 апреля 2019

Я тестер, и у меня есть этот HTML-код.

<div id="columns">
    <div class="column ce-editable c1">
    </div> 
</div>

Я использую Cypress. Я хочу проверить, есть ли в классе div имя класса 'c1'. Если я попытаюсь:

cy.xpath ('//div[@id="columns"]//div')
        .should('have.class', 'c1')

У меня есть эта ошибка:

CypressError: Timed out retrying: You attempted to make a chai-jQuery assertion on an object that is neither a DOM object or a jQuery object.
The chai-jQuery assertion you used was:
  > class
The invalid subject you asserted on was:
  > [<div.column.ce-editable.c1>]
To use chai-jQuery assertions your subject must be valid.
This can sometimes happen if a previous assertion changed the subject.

1 Ответ

1 голос
/ 01 апреля 2019

Могу ли я дать вам совершенно другое направление.Это далеко, далеко от использования Xpaths :).Что вы можете сделать, чтобы заархивировать то, что вы хотите, это следующее:

cy.get('#columns')
  .find('div')
  .should('have.class','c1')

Это приводит к нескольким положительным моментам: 1. Легче читать, что происходит 2. Отладка легче, вы увидите, чтоCypress пытается проверить c1 в три этапа.Сначала найдите некоторый идентификатор с «столбцами», затем найдите под ним div и закончите утверждением, что последний найденный div имеет класс с именем «c1».3. Результаты показывают больше ясности, так как should () является действительным утверждением, а не действием.

...