Pra*_*ash 5 browser selenium webdriver
我试图通过for循环在多个浏览器上运行相同的测试,但它总是只在Firefox上运行.
bros = ['FIREFOX','CHROME','INTERNET EXPLORER']
for bro in bros:
print "Running "+bro+"\n"
browser = webdriver.Remote(
command_executor='http://10.236.194.218:4444/wd/hub',
desired_capabilities={'browserName': bro,
'javascriptEnabled': True})
browser.implicitly_wait(60000)
browser.get("http://10.236.194.156")
Run Code Online (Sandbox Code Playgroud)
一个有趣的观察; 当我包含参数时platform: WINDOWS
,它只在Internet Explorer上运行.
Selenium Webdriver是以这种方式工作还是我的理解错了?
我实际上已经在java中完成了这个,以下对我很有用:
...
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
...
DesiredCapabilities[] browsers = {DesiredCapabilities.firefox(),DesiredCapabilities.chrome(),DesiredCapabilities.internetExplorer()};
for(DesiredCapabilities browser : browsers)
{
try{
System.out.println("Testing in Browser: "+browser.getBrowserName());
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub"), browser);
...
Run Code Online (Sandbox Code Playgroud)
如果你用不同的语言编写测试,你需要对此进行调整,我知道它可以用Java编写,但不确定.
此外,我同意你正在尝试做的事情,我认为有一个类使用不同的浏览器运行相同的测试,而不是多次复制代码并且不优雅.如果你在Java /其他代码中这样做,我也强烈建议使用Page Object.
祝好运!
归档时间: |
|
查看次数: |
19913 次 |
最近记录: |