我有一个HTML元素,应该只在第一页加载时显示。javascript设置cookie,如果设置了cookie,则不显示元素(如果存在cookie,则PHP检查cookie,不呈现内容)。
我正在尝试对此进行Laravel黄昏测试,当我禁用--headless时测试工作正常,但如果--headless已启用,元素仍然可见。
这是测试:
$browser->访问(“/”)
->访问(新页面($param))。
->断言见(“元素文本”)
->访问(新页面($param))。
->assertDontsee(“元素文本”);
< /代码>
这似乎是因为无头Chrome中的javascript没有设置cookie。。
检查
->断言PlainCookieValue(“hide_element”,“hide”);
支持这一点。
有办法解决这个问题吗?
(编辑)这里是我试图隐藏的HTML元素:
<div id=“cookie policy”class=“cookie policy”>
<P>元素文本</P>
&L/DIV & GT;
< /代码>
截图
元素显示:

元素隐藏:

下面是设置cookie的JS:
document.cookie='hide_cookie_policy=hide;path=.domainname.com;expires=fri,31 dec 9999 23:59:59 gmt';
< /代码>
我正在尝试对此进行一个Laravel黄昏测试,当我禁用--headless时测试工作正常,但是如果启用--headless,元素仍然可见。
以下是测试:
$browser->visit('/')
->visit(new ThePage($param))
->assertSee('element text')
->visit(new ThePage($param))
->assertDontSee('element text');
这似乎是因为无头Chrome中的javascript没有设置cookie。
检查
->断言PlainCookieValue(“hide_element”,“hide”);
支持这一点。
有办法解决这个问题吗?
(编辑)下面是我试图隐藏的HTML元素:
<div id="cookiePolicy" class="cookie-policy">
<p>element text</p>
</div>
屏幕截图
元素显示:

元素隐藏:

下面是设置cookie的JS:
document.cookie = 'hide_cookie_policy=hide;path=.domainname.com;expires= Fri, 31 Dec 9999 23:59:59 GMT';