首页 > 其他分享 >软件测试 | Selenium-RC工作原理

软件测试 | Selenium-RC工作原理

时间:2023-09-04 16:04:03浏览次数:29  
标签:浏览器 Selenium Server 命令 RC 软件测试 客户端

我们描述Selenium-RC组件是如何运转的,以及它们在测试案例运行过程中扮演什么角色。

1.RC组件

Selenium-RC组件包括:

Selenium Server,它负责启动和关闭浏览器,解释和运行从测试程序传来的Selenium命令,就像一个HTTP代理一样。截取和验证浏览器与待测应用(AUT)之间的HTTP消息;

客户端库文件提供编程语言和Selenium-RC Server之间的接口。

Selenium-RC的一个简单的架构图,如图5-1所示。

图5-1说明客户端库文件将命令传递给Server。接着Server使用Selenium-Core的JavaScript命令,将Selenium命令传递给浏览器。浏览器会使用自带的JavaScript翻译器来执行Selenium命令。这意味着测试脚本中的Selenium操作和验证将被执行。

软件测试 | Selenium-RC工作原理_客户端

2.Selenium Server

Selenium Server从你的测试程序中接收Selenium命令,翻译它们,向测试程序反馈运行这些测试案例的结果。

在测试程序打开浏览器时(使用客户端库文件的API函数),RC Server绑定Selenium Core并自动将它嵌入到浏览器中。Selenium-Core是一个JavaScript程序,实际上是一系列JavaScript函数,它们使用浏览器内置的JavaScript翻译器来翻译和执行Selenium命令。

Server使用简单的HTTP GET/POST请求从你的测试程序中获取Selenium命令。这意味着你可以使用任何支持HTTP请求的编程语言来自动化基于浏览器的测试案例。

3.客户端库文件

客户端库文件提供编程接口,允许你使用自己编写的程序来运行Selenium命令。对于每一种支持的语言都有对应客户端库文件。Selenium客户端库文件提供编程接口(API),例如,一些列函数,以便通过你的程序来运行Selenium命令。对于任何一种接口而言,都有对应的函数支持每一个Selenese命令。

客户端库文件获取一条Selenium命令,并将它传递给Selenium Server,以便于执行一个指定操作或者基于待测应用(AUT)进行测试。客户端库文件收到命令的执行结果,再将其传给你的测试程序。程序接受到结果后,将它保存在变量中,接着报告成功还是失败,如果结果是意料之外的失败,还能有针对性地采取正确措施。

因此要创建测试程序,你只须使用客户端库文件的API来编写程序,程序会去运行一系列Selenium命令。如果你已经在Seleniu-IDE中创建了一个Selenium测试脚本,可以用它来生成Selenium。如果你已经在Selenium-IDE中创建了一个Selenese测试脚本,可以用它来生成Selenium-RC代码。Selenium-IDE可以将它的Selenium命令,翻译成客户端驱动的API函数调用(使用Selenium-IDE Export菜单选项)。

标签:浏览器,Selenium,Server,命令,RC,软件测试,客户端
From: https://blog.51cto.com/u_15605684/7351711

相关文章

  • 软件测试 | Selenium基础
    Selenium命令——SeleneseSelenium提供一系列命令,可以用你能想到的所有方式全面测试你的Web应用系列。这些命令通常被称为Selenese。这些测试命令事实上构成了一种测试语言。使用Selenese,用户可以通过HTMLtags测试UI元素是否存在,测试特殊文本,测试死链接、输入框、下拉列表、提交表......
  • 软件测试 | Selenium验证页面元素
    验证页面上的UI元素,是你在自动化测试案例过程中最常用到的特性。Selenese允许通过多种方式验证UI元素。了解这些不同验证方式非常重要,因为它们决定了你实际正在测试什么。举例,你是否正在测试如下情况:(1)一个UI元素存在于页面上某个位置;(2)特别稳定存在于页面上某个位置;(3)特定文本存在于......
  • 软件测试 | Web自动化测试
    当前绝大多数企业应用系统都是基于Web的应用系统,人们可以通过Internet浏览器便捷地访问它们。在可以预见地将来,“云计算”会进一步推动这种趋势。当前很多组织和公司,采用持续改进的开发模式来应对这种趋势。在持续改进开发模式中(例如敏捷和极限开发模式),需要不断地进行迭代测试。传......
  • elasticsearch.yml 配置详解
    #####################ElasticsearchConfigurationExample#######################只是挑些重要的配置选项进行注释,其实自带的已经有非常细致的英文注释了!#https://www.elastic.co/guide/en/elasticsearch/reference/current/modules.html##########################......
  • 【刷题笔记】35. Search Insert Position
    题目Givenasortedarrayandatargetvalue,returntheindexifthetargetisfound.Ifnot,returntheindexwhereitwouldbeifitwereinsertedinorder.Youmayassumenoduplicatesinthearray.Example1:Input:[1,3,5,6],5Output:2Example2:I......
  • Scheduling and Resource Allocation
    ModuleaimsReal-lifeproblemsarisingincomputerscience,computationalmanagementandeconomicsofteninvolvedecidingthebestwaytouseagivensetofresources(e.g.,servers,networks,routes)tocompleteadesiredsetoftaskswithinconstraints......
  • maven-resources-production:webapi: java.lang.NegativeArraySizeException
    maven-resources-production:webapi:java.lang.NegativeArraySizeException打开项目启动时,发现报这个错误,基于此,我分析了一下,首先原本好好的项目突然这样子,首先查看代码更新的情况,发现代码并没有作任何变化。分析代码jar包的问题,首先mvnclean和mvninstall直接一起上。代码可......
  • maven打包提示“-source1.5中不支持diamond运算符终极解决办法”
    把所有能设置Java的地方都改过来了,还是不行,最后在Maven的setting.xml中设置了一下Jdk好使了<profiles><profile><id>jdk1.8</id><activation><activeByDefault>true</activeByDefault><jdk......
  • xunsearch 搜索时按字段索引词加权
    在使用Xunsearch进行搜索时,我们可以通过XSSearch::addWeight针对某个字段添加权重索引词。该字段是否包含这个词都不影响搜索匹配结果,但如果包含会参与计算结果权重,使结果的相关度更高。常用于针对某一类数据提升搜索结果排序位置。如搜索包含"杭州"的结果,并且提升subjec......
  • xunsearch 解决单字符、无意义字符被分词导致的搜索不准确问题
    Xunsearch配置好启动服务后,我们进行搜索会发现一些单字符如的、了、是、和等被分词,导致搜索结果中出现了与搜索目标不一致但包含这些字符的结果,如此会导致搜索结果不准确。对于这种问题Xunsearch提供了stopwords.txt配置文件解决这个问题,只需要将想过滤掉的字符一行一个添加......