У меня есть элемент HTML, который должен отображаться только при загрузке первой страницы. Javascript устанавливает файл cookie, и элемент не отображается, если файл cookie установлен (PHP проверяет файл cookie и не отображает содержимое, если файл cookie существует).
Я пытаюсь сделать тест сумерек laravel для этого, и тест работает нормально, когда я отключаю --headless, но элемент все еще виден, если --headless включен.
Вот тест:
$browser->visit('/')
->visit(new ThePage($param))
->assertSee('element text')
->visit(new ThePage($param))
->assertDontSee('element text');
Похоже, это связано с тем, что javascript в безголовом хроме не устанавливает файл cookie.
Проверка ->assertPlainCookieValue('hide_element', 'hide'); поддерживает это.
Есть ли способ обойти это?
(редактировать) Вот элемент HTML, который я пытаюсь скрыть:
<div id="cookiePolicy" class="cookie-policy">
<p>element text</p>
</div>
Скриншоты
Вот JS, который устанавливает cookie:
document.cookie = 'hide_cookie_policy=hide;path=.domainname.com;expires= Fri, 31 Dec 9999 23:59:59 GMT';
assertDontSee
наwaitUntilMissing
. - person Jonas Staudenmeir   schedule 31.07.2018->pause(5000)
и делаете скриншот, элемент не виден? - person Jonas Staudenmeir   schedule 01.08.2018waitUntilMissing('.cookie-policy')
? Вы получаете исключение тайм-аута? - person Jonas Staudenmeir   schedule 01.08.2018.cookie-policy
? - person Jonas Staudenmeir   schedule 01.08.2018