【问题标题】:Setting up Selenium for recording as well as running in different browsers and platforms设置 Selenium 进行录制以及在不同的浏览器和平台上运行
【发布时间】:2011-09-10 00:13:07
【问题描述】:

我想设置一个 Selenium 服务器,以便客户端可以在本地记录测试,记录的测试可以在带有 Firefox + Chrome 的 Ubuntu 服务器上回放和测试。

不幸的是,Selenium 网站非常混乱,提到了很多不同的项目(Selenium 1、Selenium 2、Selenium RC、Selenium Grid),我不知道从哪里开始。

如何在 Ubuntu 机器上设置 Selenium Server?

【问题讨论】:

  • TestProject 更容易记录测试并在不同的浏览器以及不同的平台/操作系统中运行:link.testproject.io/7so

标签: testing ubuntu selenium-rc selenium-ide recording


【解决方案1】:

不幸的是,Selenium 网站是如此 令人困惑并提到了很多 不同的项目(Selenium 1, 硒 2、硒 RC、硒 网格)我不知道在哪里 开始。

Selenium 有多个版本

  1. IDE - 主要用于记录测试并回放。它主要是一个 Firefox 插件。这可以用于非常基本的测试。您还可以将记录的测试导出到 selenium RC。 seleniumhq.org->文档部分中提到的所有这些:http://docs.seleniumhq.org/docs/

  2. RC - 与任何其他自动化工具一样,您可以编写自己的代码来运行测试,而不仅仅是录制和回放。它具有比 IDE 更好的功能,包括对多种语言(Java、Javascript、Ruby、PHP、Python、Perl 和 C#)的支持,以及对各种平台上几乎所有浏览器的支持。

  3. 网格 - 这有助于并行运行多个测试。

在 Firefox (NOT CHROME) 中记录和运行测试非常简单。这不需要运行 selenium 服务器。

  1. 记录整个测试

  2. 保存在文件中

  3. 将文件复制到 Ubuntu 机器上

  4. 在 Ubuntu 机器上使用 IDE 打开相同的测试,然后在 firefox 中再次运行它

如果您想在 chrome 上运行,那么您需要使用 selenium RC 进入下一个级别。这需要 selenium 服务器运行。

如何设置 Selenium Ubuntu 机器上的服务器

here 下载 selenium-server jar。将此复制到您的 ubuntu 服务器中的任何目录

打开终端并导航到包含 selenium 服务器 jar 的文件夹。

输入java -jar selenium-server-jarfilename.jar

默认情况下,Selenium 服务器将在端口 4444 上启动并继续侦听测试。

【讨论】:

  • 是的,但是您描述了如何运行服务器一,而不是如何将其安装为系统服务?网络上是否有任何材料描述了如何将 Selenium Webserver 作为服务安装的最佳实践?
【解决方案2】:

该网站在版本控制和名称方面令人困惑。 Selenium 是整个项目的名称,最初是 Selenium RC(远程控制)。 Selenium RC 是 API 的旧版本,有时也称为 Selenium 1。Selenium 2 是最新版本,最新版本是上周的 Selenium RC2(候选版本)。这使用了与 Selenium RC 不同的 API。新的 API 称为 WebDriver。新的 API 仍然允许您访问旧的 Selenium RC,但只是为了向后兼容。

既然您现在就开始,您没有理由使用 Selenium RC API。您应该改用 advanced user interactions,它是 WebDriver 的一部分。设置 WebDriver 非常简单,并且有一个不错的指南 here。您应该注意,那里使用的 API 是使用 WebElements 的旧标准(2.0 beta)。新的 API(高级用户交互)将操作与执行更多操作的元素分离。我建议您使用受到积极支持的 API 的最新版本,而不是旧的已弃用版本。

既然你想在本地完成这一切,我给你的第二个链接应该足以让你启动并运行。假设您将使用 Java 绑定,它很简单:

public class Selenium2Example  {
    public static void main(String[] args) {
        // Create a new instance of the Firefox driver
        // Notice that the remainder of the code relies on the interface, 
        // not the implementation.
        WebDriver driver = new FirefoxDriver();

        // And now use this to visit Google
        driver.get("http://www.google.com");
        Actions builder = new Actions( driver );
        builder.sendKeys( driver.findElement( By.name("q") ), "Cheese!" );

        Action action = builder.build();
        action.perform();

        //Close the browser
        driver.quit();
    }
}

这是为使用高级用户交互而编辑的示例代码。

【讨论】:

    【解决方案3】:

    你必须有两件事来编写和执行 selenium 测试。

    1) Selenium Server 也称为 Selenium RC(远程控制)。你可以去this链接下载Selenium Server。 您可以使用命令java -jar ur_selenium_server.jar 启动 selenium 服务器

    2) 客户端驱动程序:使用客户端驱动程序,您可以编写 selenium 测试代码。它由在 UI 上执行某些操作的 selenium 命令组合组成。例如点击、选择等 Selenium 支持客户端驱动程序的许多不同语言绑定。从上面的下载页面下载适合您首选语言的客户端驱动程序。

    您可以参考client driver apis 并编写您的测试代码。

    希望对你有帮助

    【讨论】:

    • 谢谢,我可以用 Firefox 插件记录测试并在 Selenium 服务器上重放这些测试吗?客户端驱动程序如何适应这个?
    猜你喜欢
    • 2016-03-20
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多