0

我正在使用旧版本的自动化脚本登录页面并运行测试。

我们想将经典的 selenium 构造函数更改为 WebDriverBackedSelenium 构造函数,以便进行一些更复杂的测试。

我们最初的构造函数调用是:

selenium = new DefaultSelenium("localhost", 4444, "*firefox", "https://asdffdsa.com/");

如何使用相同的参数设置 WebDriverBackedSelenium 构造函数?API 显示我们需要将构造函数设置为:

seWebDriver = new WebDriverBackedSelenium(driver, "https://asdffdsa.com");

似乎没有任何迹象表明 selenium 服务器在哪里运行、什么端口以及什么浏览器。

目前使用以下代码:

driver = new FirefoxDriver();
    seWebDriver = new WebDriverBackedSelenium(driver, "https://www.asdfdfdfsfs.com");

    seWebDriver.open("/");

刚才注意到我收到以下错误:

原因:org.openqa.selenium.firefox.NotConnectedException:45000 毫秒后无法连接到端口 7055 上的主机 127.0.0.1。Firefox 控制台输出: * LOG addons.manager:应用程序已升级 LOG addons.xpi:启动 LOG addons.xpi:跳过不可用的安装位置 app-system-share LOG addons.xpi:忽略名称不是有效加载项 ID 的文件条目:/var/folders/pf/hvzyf38x59vfbgf8zpvw5v800000gn/T/anonymous2501560210712840923webdriver-profile/extensions/webdriver-staging LOG addons.xpi: checkForChanges LOG addons.xpi-utils:打开数据库 LOG addons.xpi-utils:创建数据库模式 LOG addons.xpi:安装在 app-profile 中的新插件 fxdriver@googlecode.com Blocklist::_loadBlocklistFromFile: 阻止列表被禁用 LOG addons.xpi:安装在 app-global 中的新插件 {972ce4c6-7e08-4474-a285-3208198ce6fd} LOG addons.xpi:使用已安装插件的更改更新数据库 LOG addons.xpi-utils:更新插件状态 LOG addons.xpi-utils:编写插件列表 LOG addons.manager: 关机 LOG addons.xpi:关机 LOG addons.xpi-utils:关机 LOG addons.xpi-utils:数据库关闭 LOG addons.xpi:启动 LOG addons.xpi:跳过不可用的安装位置 app-system-share LOG addons.xpi:忽略名称不是有效加载项 ID 的文件条目:/var/folders/pf/hvzyf38x59vfbgf8zpvw5v800000gn/T/anonymous2501560210712840923webdriver-profile/extensions/webdriver-staging LOG addons.xpi: checkForChanges * LOG addons.xpi: 未发现更改

4

2 回答 2

1

这是使用 Webdriver 支持的 selenium 的示例。

使用 webdriverbacked Selenium 时无需提及端口号。

在下面的程序中,该对象Selenium用于利用 Selenium RC(您的旧自动化脚本构造函数)的属性。

该对象driver 用于利用 Webdriver (Selenium2.0) 的特性。

public class BackedWebdriver {

    public static WebDriver driver;
    public static String baseUrl;
    public static Selenium selenium;

    public static void main(String[] args) {
        driver = new FirefoxDriver();    //Here we are mentioning that we will use Firefox browser
        baseUrl = "http://www.google.co.in/";
        driver.get(baseUrl);
        selenium = new WebDriverBackedSelenium(driver, baseUrl);
        selenium.windowMaximize();
        driver.findElement(By.id("gbqfq")).clear();
        driver.findElement(By.id("gbqfq")).sendKeys("selenium");
        selenium.click("g");
        driver.findElement(By.id("gbqfb")).click();


    }
于 2013-03-06T17:37:43.093 回答
0
DesiredCapabilities ffLinux = DesiredCapabilities.firefox();
ffLinux.setBrowserName("firefox");
ffLinux.setPlatform(Platform.LINUX);
String hubLocation = http://yourmachine.com:4444/wd/hub;
WebDriver driver = new RemoteWebDriver(hubLocation, ffLinux);
driver.get(yourWebApplicationURLThatsBeingTested);

在上面使用 WebDriverBackedSelenium 的示例中,您传入的第一个参数是“驱动程序”。看看我如何在上面设置我的 WebDriver:它指定了集线器位置。

于 2013-03-06T19:03:26.963 回答