📜  Selenium-远程控制

📅  最后修改于: 2020-12-04 04:50:40             🧑  作者: Mango


什么是硒RC?

Selenium远程控制(RC)是Selenium WebDriver(Selenium 2.0)诞生之前已经持续了很长时间的主要Selenium项目。现在,Selenium RC几乎不再使用,因为WebDriver提供了更强大的功能,但是用户仍然可以继续使用RC开发脚本。

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

硒RC架构

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

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

硒IDE 52

硒RC分为两个部分。

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

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

RC脚本

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

步骤1-启动Selenium Remote Control(借助命令提示符)。

步骤2-启动Selenium RC之后,打开Eclipse并创建一个“ New Project”,如下所示。

硒IDE 53

步骤3-输入项目名称,然后单击“下一步”按钮。

硒IDE 54

步骤4-验证源,项目,库和输出文件夹,然后单击“完成”。

硒IDE 55

步骤5-右键单击“项目”容器,然后选择“配置构建路径”。

硒IDE 56

步骤6-打开“ selrcdemo”的属性。导航到“库”选项卡,然后选择“添加外部JAR”。选择我们下载的Selenium RC jar文件,它将显示如下。

硒IDE 57

步骤7-所引用的库如下所示。

硒IDE 58

步骤8-通过在“ src”文件夹上单击鼠标右键,然后选择“新建” >>“类”,创建一个新的类文件。

硒IDE 59

步骤9-输入类文件的名称,并启用“ public static void main”,如下所示。

硒IDE 60

步骤10-如下所示,在文件夹结构下创建了Created Class。

硒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-现在,让我们通过单击“运行”按钮执行脚本。

硒IDE 72

步骤13-脚本将开始执行,用户将可以在“命令历史”选项卡下查看命令历史。

硒IDE 71

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

Selenium IDE 73

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

硒IDE 74