Selenium- 遥控

什么是Selenium RC?

Selenium远程控制(RC)是在Selenium WebDriver(Selenium 2.0)成立之前持续很长时间的主要Selenium项目.现在Selenium RC很难使用,因为WebDriver提供了更强大的功能,但用户仍然可以继续使用RC开发脚本.

它允许我们在帮助下编写自动化Web应用程序UI测试Java,C#,Perl,Python和PHP等编程语言的全部功能,可以创建更复杂的测试,例如读取和写入文件,查询数据库以及通过电子邮件发送测试结果.

Selenium RC体系结构

Selenium RC的工作方式使客户端库可以与Selenium RC Server通信,传递每个Selenium命令以供执行.然后服务器使用Selenium-Core JavaScript命令将Selenium命令传递给浏览器.

浏览器使用其JavaScript解释器执行Selenium命令.

Selenium IDE 52

Selenium RC分为两部分.

  • Selenium Server启动并杀死浏览器.除此之外,它还解释并执行Selenese命令.它还通过拦截和验证浏览器与被测试应用程序之间传递的HTTP消息充当HTTP代理.

  • 提供每个之间接口的客户端库编程语言(Java,C#,Perl,Python和PHP)和Selenium-RC服务器.

RC Scripting

现在让我们使用Selenium Remote Control编写一个示例脚本.让我们使用 http://www.calculator.net/来了解Selenium RC.我们将使用"数学计算器"模块下的"百分比计算器"执行百分比计算.

步骤1 : 启动Selenium远程控制(在命令提示符的帮助下).

步骤2 : 启动Selenium RC后,打开Eclipse并创建一个"New Project",如下所示.

Selenium IDE 53

第3步 : 输入项目名称,然后单击"下一步"按钮.

Selenium IDE 54

第4步 : 验证Source,Projects,Libraries和Output文件夹,然后单击"Finish".

Selenium IDE 55

第5步 : 右键单击"项目"容器,然后选择"配置构建路径".

Selenium IDE 56

第6步 :  'selrcdemo'的属性打开了.导航到"库"选项卡,然后选择"添加外部JAR".选择我们下载的Selenium RC jar文件,它将如下所示.

Selenium IDE 57

第7步 : 引用的库如下所示.

Selenium IDE 58

第8步 : 通过右键单击"src"文件夹并选择"新建">>创建新的类文件'class'.

Selenium IDE 59

第9步 : 输入类文件的名称并启用"public static void main",如下所示.

Selenium IDE 60

第10步 :  Created Class是在文件夹结构下创建的,如下所示.

Selenium IDE 70

步骤11 : 现在是编码的时候了.以下代码中嵌入了注释,以便读者理解已经提出的内容.

package selrcdemo;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class rcdemo {
   public static void main(String[] args) throws InterruptedException {

      // Instatiate the RC Server
      Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
      selenium.start();   // Start
      selenium.open("/");  // Open the URL
      selenium.windowMaximize();

      // Click on Link Math Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
      Thread.sleep(2500); // Wait for page load

      // Click on Link Percent Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
      Thread.sleep(4000); // Wait for page load

      // Focus on text Box
      selenium.focus("name = cpar1");
      
      // enter a value in Text box 1
      selenium.type("css=input[name = cpar1]", "10");
      
      // enter a value in Text box 2
      selenium.focus("name = cpar2");
      selenium.type("css = input[name = cpar2]", "50");

      // Click Calculate button
      selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");

      // verify if the result is 5
      String result = selenium.getText(".//*[@id = 'content']/p[2]");

      if (result == "5") {
         System.out.println("Pass");
      } else {
         System.out.println("Fail");
      }
   }
}


第12步 : 现在,让我们通过单击"运行"按钮来执行脚本.

Selenium IDE 72

步骤13 : 该脚本将开始执行,用户将能够在"命令历史记录"选项卡下查看命令历史记录.

 Selenium IDE 71

步骤14 : 应用程序的最终状态如下所示.计算百分比并在屏幕上显示结果,如下所示.

Selenium IDE 73

步骤15 : 测试的输出打印在Eclipse控制台上,如下所示,因为我们已将输出打印到控制台.实时输出被写入HTML文件或简单的文本文件.

Selenium IDE 74