Найдите элементы Codeception с более чем одним классом CSS

у меня есть что-то вроде следующей разметки:

<body>
  <div class="navigation">...</div>
  <div class="messages error">...</div>
  <div class="content">...</div>
</body>

Теперь у меня есть несколько тестов кода (с модулем PHPBrowser), чтобы проверить, не существует ли «div» с сообщениями. Это не работает для контейнера с более чем одним классом. Кажется, они не совпадают с этим:

$I->dontSeeElement('.messages');
$I->dontSeeElement('.error');
$I->dontSeeElement('.messages .error');
$I->dontSeeElement('div.messages.error');

Как я могу сопоставить этот контейнер?

С уважением Себастьян


person rickroyce    schedule 22.08.2014    source источник
comment
Это действительно странно. Вы все еще можете сопоставить .navigation и .content, но не можете сопоставить .messages.error? Если это так, я бы списал это на ошибку.   -  person BoltClock    schedule 22.08.2014
comment
".navigation" и ".content" не проблема. ".messages.error" также является комбинацией, которую я пробовал раньше, и она не соответствует разметке.   -  person rickroyce    schedule 22.08.2014
comment
каждый понять это? У меня такая же проблема.   -  person greatwitenorth    schedule 16.03.2016


Ответы (1)


Настройте свои xpaths ниже:

$I->dontSeeElement(['xpath'=>'//div[contains(@class,'messages')]']);
person mfsi_krushnas    schedule 03.09.2014
comment
Спасибо! На данный момент это работает, но не решило ошибку селектора CSS. - person rickroyce; 09.09.2014