我们描述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操作和验证将被执行。
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