如何在多个浏览器中运行Selenium测试,以便使用Java进行跨浏览器测试?
我正在使用Selenium WebDriver和Java和TestNG框架。 我想在一个代码中一次使用Firefox,IE,Chrome进行跨浏览器测试。 我只能将Firefox初始化为
driver = new FirefoxDriver();
但无法以相同的方式初始化其他浏览器。 例如:
driver = new InternetExplorerDriver();
给出错误InternetExplorerDriver cannot be resolved.
driver = new ChromeDriver();
给出错误ChromeDriver cannot be resolved.
如何初始化IE和Chrome并在所有需要的浏览器中执行我的测试?
对于C#
加
using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Firefox; using OpenQA.Selenium.IE;
创建一个包含浏览器名称的配置文件。 实现与配置文件交互的方法
您可以使用以下代码初始化浏览器:
string browser = GetConfigProperty("browser"); //Get browser name from the config switch (browser) { case "chrome": driver = new ChromeDriver(); break; case "firefox": driver = new FirefoxDriver(); break; case "InternetExplorer": driver = new InternetExplorerDriver(); break; }
祝你好运!
创建具有以下内容的testng.xml:
现在编写Java WebDriver代码,如下所示:
@Parameters({"browser"}) @BeforeClass public void setUp(String browser) {//throws MalformedURLException{ if(browser.equalsIgnoreCase("iexplore")){ File file = new File("E:\\IEDriverServer_Win32_2.29.1\\IEDriverServer.exe"); System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); driver = new InternetExplorerDriver(); } if(browser.equalsIgnoreCase("firefox")){ driver = new FirefoxDriver(); } if(browser.equalsIgnoreCase("chrome")){ File file = new File("F:\\chromedriver_win_22_0_1203_0b\\chromedriver.exe");//v22 System.setProperty("webdriver.chrome.driver", file.getAbsolutePath()); driver = new ChromeDriver(); } jse = (JavascriptExecutor) driver; driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(DEFAULT_IMPLICIT_WAIT_IN_SECONDS, TimeUnit.SECONDS); driver.get("URLOfSite"); }
对于Ruby,如果要在所有三个浏览器中依次运行单个代码,则可以执行以下操作:
def all_browsers browsers = [:firefox,:ie,:chrome].each do |br| $driver = Selenium::WebDriver.for br $driver.manage.window.maximize $driver.navigate.to("http://google.com") end
对于Java,由于海报问题是要求Java答案, 我写了一个完整的多浏览器并行窗口示例 。
- webdriver无法单击firefox中的超链接
- Selenium / Firefox:命令“.click()”不适用于找到的元素
- 确定客户端浏览器是否已安装Java并可以启动applet
- 使用Selenium在FireFox中设置首选项时出现mime类型问题
- 使用BrowserMobProxy,Selenium,Firefox,marionette / gecko获取请求和响应
- 我在哪里可以找到明确的Selenium WebDriver到Firefox兼容性矩阵?
- 用于保存文件的Selenium firefox配置文件
- 在selenium中绕过capcha
- Selenium 3.0 Firefx驱动程序因org.openqa.selenium.SessionNotCreatedException而失败:无法创建新的远程会话