最近正在看Ping++测试团队编著的《Selenium 自动化测试之道》,非常非常好的一本书,不仅仅是工具的介绍使用,还有非常珍贵的实践总结,自己的公司也在做自动化,由于是基于B/S,要考虑到硬件环境,而且主要使用的是RobotFramework去构建自动化脚本验证系统的可靠性。
之前自己也学习过关于Selenium的知识,但是总感觉知识很零散,自己在网上搜了很长时间,买了这本书,发现自己还欠缺很多,很庆幸能读到这本书,下面开始一点点的搭建自己的知识框架。
一、工作原理
Selenium Webdriver是调用浏览器的原生接口(浏览器原生API就是浏览器设计时内置的接口,除了原生接口还有浏览器通用或某浏览器兼容的接口
)来操作浏览器的。Selenium 2.0将浏览器原生的API封装成WebDriver API,在脚本中创建Webdriver对象,再通过这个对象调用Webdriver API来访问浏览器接口,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的), 所以就像真正的用户在操作一样。
在测试脚本中使用Selenium Webdriver ,无论哪种浏览器,处理逻辑都是通过一个ComandExecutor发送命令,实际上就是一条发送给Web Service(Web Service是基于特定WebDriver Wire协议的RESTful接口,测试脚本通知浏览器要做的操作都包含于发送给Web Service的HTTP请求体中)的HTTP 请求。
Selenium HttpCommandExecutor类的代码维护了一个 nameToUrl = ImmutableMap.<String,CommandInfo>builder()的函数,它将简单的命令转化为相应的请求URL,请求基于sessionID的,在多线程并行的时候不会发生冲突和干扰。
二、环境搭建(基于JAVA)(版本没有冲突就可以,注意32位还是64位)
1.JDK
2.eclipse
3.浏览器Chromestable_54.0.2840.99.exe(没有直达链接,FQ找),Firefox,IE,
4.浏览器Driver,与浏览器版本一致
5.测试环境(某网站)
6.Selenium工具jar包selenium-server-standalone-2.53.0.jar
7.代码管理工具apache-maven
8.mavend的本地仓库.m2
原文地址:https://www.cnblogs.com/mimihuhudeliwu/p/9219889.html