WEB自动化测试:指WEB应用系统从用户界面层面进行的自动化测试。通过用户界面测试内部的业务逻辑。
自身特点:(一)WEB页面上出现的元素有可能具有不确定性;
(二)不同操作系统上不同WEB浏览器之间的兼容性;
(三)WEB应用的高并发性和容错性
(四)移动设备上的WEB客户端兼容性,旋转性和各种触摸性;
Selenium:Selenium RC
典型的使用:
- 测试人员基于客户端提供的API来编写测试用例脚本
- 测试程序打开浏览器,Selenium RC Server绑定Selenium Core 并自动的将它嵌入到浏览器中,Selenium Core实际上是一系列的Javascript函数,他们使用浏览器内置的Javascript翻译器来翻译和执行Selense command.
- 客户端驱动持续执行测试用例并发送特定命令到Selenium RC Server,这些特定命令即selense command.
- Selenium RC Server解释selense command ,并触发Selenium Core 执行对应的Javascript 代码来完成相应的操作。
- 浏览器上所有的请求和相应都通过Selenium RC Server的HTTP代理与实际的Web应用服务器进行交互,并且Selenium RC Server一旦受到响应就将页面转回到浏览器
- 浏览器收到web页面后,便在框架或者窗口中展示页面。
Selenium 2:将webdriver API集成进Selenium RC ,从而解决了Selenium1 所面临的一系列局限性问题。用户可以通过webdriver进行手机应用的测试。
Selenium IDE:
优点:
- 录制功能快捷方便,上手快。
- 代码转换功能易用,容易生成其他编程语言的测试用例代码
- 支持跨域
- 不支持Java运行时环境
缺点:
- 录制回复方式的稳定性和可靠性有限
- 只支持Mozila Firefox
- 只支持selense command 语言
- 对于复杂的页面逻辑其处理能力有限
Selenium grid
:运用多个机器同时并列运行,目的是加快测试用例的执行速度。从而较少测试的时间。也可以并行测试多种浏览器。它包含一个HUB(接收即将被执行的测试用例及其相关信息,即测试用例将在哪种浏览器和操作系统上运行。HUB会记录每一个“注册过”的NODE的配置信息。NODE被选中之后,测试用例所调用的Seleenium命令就会被发送给HUB,hub在将命令发送给NODE,随即NODE 将启动浏览器,执行命令对指定的WEB程序和NAYIVE程序进行)和至少一个NODE。