我正在使用动态创建的Firefox配置文件在包含多个节点的Selenium网格上运行多个测试,如下所示:
原文链接:https://www.f2er.com/php/136827.html$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实例,因为我希望…