加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:17:28 所属栏目:PHP教程 来源:网络整理
导读:我正在使用动态创建的Firefox配置文件在包含多个节点的Selenium网格上运行多个测试,如下所示: $firefoxProfile = new FirefoxProfile();$capabilities = DesiredCapabilities::firefox ();$capabilities-setCapability(FirefoxDriver::PROFILE,$firefoxProf
我正在使用动态创建的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容器中启动每个浏览器.这可以保证您的会话完全隔离.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读