Php webdriver – 如何强制新测试使用不同的配置文件?

前端之家收集整理的这篇文章主要介绍了Php webdriver – 如何强制新测试使用不同的配置文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用动态创建的Firefox配置文件在包含多个节点的Selenium网格上运行多个测试,如下所示:
$firefoxProfile = new FirefoxProfile();
$capabilities = DesiredCapabilities::firefox ();
$capabilities->setCapability(FirefoxDriver::PROFILE,$firefoxProfile);

$this->webdriver = RemoteWebDriver::create("http://my.tests.com",$capabilities,5000);

但是每次集线器选择具有先前运行的Firefox实例的节点时,它都使用相同的配置文件并丢弃先前运行的会话.这是因为应用程序使用相同的cookie进行身份验证.

有没有办法迫使selenium网格动态创建一个新的配置文件并获得一个全新的firefox实例?

一些进一步的信息

为了启动集线器,我目前使用以下命令行

java -jar /opt/selenium/selenium-server.jar -trustAllSSLCertificates -timeout  300 \
                                        -role hub -newSessionWaitTimeout 60 -maxSession 2 \
                                        -port 9444 -nodeTimeout 300 \
                                        -browserTimeout 300 &

为了让节点启动我使用

xvfb-run -n 99 --server-args="-screen 0 800x600x16 -ac"  \
      -a java -jar /opt/selenium/selenium-server.jar -role node \
                 -browser browserName=firefox,maxInstances=2 \
                 -hub http://my.tests.com:9444/grid/register

奇怪的是,当我设置一个独立的Selenium服务器时,它会创建多个firefox实例,因为我希望…

您还可以尝试使用名为 Selenoid的替代轻量级Selenium替代品.主要区别在于它在新的 Docker容器中启动每个浏览器.这可以保证您的会话完全隔离.
原文链接:https://www.f2er.com/php/136827.html

猜你在找的PHP相关文章