脚本并未如预期般在使用硒的webdriver电网运行它们(Scripts are not runni

2019-10-17 17:20发布

我想在同一时间(即平行)运行在三个浏览器IE,Chrome和Firefox相同的脚本。 我使用下面的代码Testng.xml文件

 <test name="RunTests-1">
    <parameter name="browser" value="firefox" />     
    <parameter name="port" value="http://localhost:4444/wd/hub" />
    <classes>
        <class name="Com.TestSuite.class1"/>
    </classes>
</test>  
<test name="RunTests-2">
    <parameter name="browser" value="chrome" />     
    <parameter name="port" value="http://localhost:4444/wd/hub" />
    <classes>
        <class name="Com.TestSuite.class1"/>
    </classes>
</test>
<test name="RunTests-3">
    <parameter name="browser" value="internet explorer" />     
    <parameter name="port" value="http://localhost:4444/wd/hub" />
    <classes>
        <class name="Com.TestSuite.class1"/>
    </classes>
</test> 

而用TestNG运行它,它是开放3个浏览器,并执行脚本。 但问题是在执行该脚本,它在脚本执行一些操作(如进入文本字段中的文本,单击按钮等)在一个浏览器的两倍,而不是在其他浏览器的所有执行。 请让我知道什么可能是其中的原因。

Answer 1:

在声明变量作为Static 。 它会考虑作为服务器端变量。 在你的情况,当你推出三款浏览器。 它将使用single driver instance的所有三个浏览器会话。 单是这一理由的动作是在同一个浏览器重复执行。 要解决此问题,删除Static keyword从网络驱动程序定义。

例如:

私人司机的webdriver = NULL;



文章来源: Scripts are not running as expected while running them using selenium webdriver Grid