惭愧,很久没写了,陷入了一个自我怀疑的怪圈。但凡能想到的话题,百度谷歌,随便搜一搜,便是铺天盖地鱼龙混杂的资料,自己凭什么标新立异?凭什么对得起充满期待的读者?
然而,仿佛忘了初心。自己决定开始写字的时候,并不是想要引领什么,只是想像有人选择跑步一样,去坚持做一件正确的事。积累所学、监督成长、自我反省。假如有幸帮助或者鼓舞到一些同样努力进步的人,将是意外的收获。
自我怀疑,无非两点:见识浅薄、索求贪婪。前者,只能通过不断学习和思考来弥补,后者则需不忘初心。
所以今天,我又来了。
是的,仍然没有新意,但愿老生常谈的话题,你真的会了。而不是像家门口的名胜景点,其实从来没去过。
Web和移动应用的测试,一直是我的方向,从手工到自动化,从Manish领我入门到自己也可以coach别人,走过不少路,也踩过不少坑。但愿,我坚持写,你努力学,彼此都能获得长足的长进。
什么是Selenium?
Selenium 是专门为Web应用程序编写的UI自动化测试工具,框架底层使用JavaScript模拟真实用户对浏览器(IE、Mozilla Firefox、Chrome等)进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击、输入、打开、验证等操作,就像真实用户实际手动测试一样。
Selenium是一套开源的Web应用程序自动化测试工具,能够在不同的浏览器和操作系统运行。那这一套工具都包含什么呢?
1
Selenium IDE
Selenium的IDE(集成开发环境)是一个Firefox插件,它提供了一个图形用户界面,用来将使用Firefox的操作过程录制成脚本,并进行编辑。
2
Selenium RC
Selenium RC (Selenium Remote Control) 的工作方式是这样的,客户端库使用Selenium RC服务器通过Selenium命令来执行通信。然后服务器通过Selenium命令来使用Selenium核心的JavaScript来命令浏览器,在浏览器中执行使用JavaScript解释器的Selenium命令。
Selenium RC包含两部分:
1.Selenium服务器:作为web请求的http代理,能够自动启动和终止浏览器。
2.Selenium客户端库:提供了编程语言(Java,C#,Perl,Python和PHP),以及与Selenium服务器的接口。
想要了解更多关于Selenium RC的知识,请参考Selenium官网网站:http://www.seleniumhq.org/docs/05_selenium_rc.jsp
3
Selenium WebDriver
在启动WebDriver的过程中,会首先确认浏览器与driver是否匹配,如果匹配,则启动浏览器,然后把浏览器绑定在某一个端口,且在浏览器中启动一整套web service,这套web service使用了Selenium2自己定义的协议,这套协议在主流浏览器中是通用的。浏览器此时就作为了一个service,测试脚本就作为了client,client发送的任何一个Selenium2的API都被转成了一个http request,当web service接收到request便会响应,这套协议就是告诉浏览器需要干什么。
4
Selenium Grid
Selenium网格是分布在多个物理或虚拟机测试,使我们能够并行执行脚本。Selenium服务器的独立软件包括集线器,webdriver,和Selenium RC网格执行脚本。
Selenium 网格的体系结构是用简单的流程图来解释。
更多精彩内容,请关注【七姑娘日记】