当前位置: 首页>>技术问答>>正文


如何开始/设置Selenium进行录制以及在不同的浏览器和平台上运行?

, , , ,

问题描述

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

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

如何在Ubuntu盒子上设置Selenium Server?

最佳解决方案

Unfortunately the Selenium site is so confusing and mentions so many different projects (Selenium 1, Selenium 2, Selenium RC, Selenium Grid) that I’m not sure where to start.

Selenium有多个版本

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

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

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

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

  1. 记录整个测试

  2. 将其保存在文件中

  3. 将文件复制到Ubuntu机器

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

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

How do I go about setting up Selenium Server on an Ubuntu box

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

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

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

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

次佳解决方案

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

从您现在开始,您没有理由使用Selenium RC API。您应该使用属于WebDriver的advanced user interactions。设置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();
    }
}

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

第三种解决方案

你必须要写两件事并执行selenium测试。

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

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

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

希望这可以帮助

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/6667.html,未经允许,请勿转载。