selenium自动化基础知识

什么是自动化测试?

自动化测试分为:功能自动化和性能自动化css

 

功能自动化即便用计算机经过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力。同时,若是系统有不份模块更改后,只要经过修改部分代码的方式来覆盖这部分修改的内容,大大提升测试效率。可是后期代码维护须要必定的成本,若是系统属于表单比较多或者常常修改改动的系统不太适合使用自动化,由于这个维护成本过高;针对于一些相对比较成熟(改动不是很频繁)的系统和跑回归测试的系统很适合进行自动化测试。前端

性能自动化即便用性能测试工具(经常使用的收费软件有LoadRunnerQTP,开源的有Jmeter)模拟成千上万的用户向系统发送请求,来取得系统性能峰值与瓶颈,可是性能测试的重点并非在工具的使用上面,而是对工具产生的各类性能报表的性能分析上。须要完成一个完整的性能分析,你须要了解不少知识(计算机组成原理、操做系统、数据库原理、计算机网络原理、应用服务器tomcat】、web serverapache】等)。java

几乎每一个项目都会用到性能测试,可是并非全部的项目都适合自动化测试;然而性能测试须要更强的基础知识功底,对于半路出家的测试来讲有很大难度;对于之后的发展方向都有利有弊吧。python

 

为何要进行UI自动化测试?

 

从图中咱们能够看出各阶段测试的投入产出比,咱们能够看到单元测试的收益是最高的,由于它直接对源代码进行测试,对某一个if判断或者一个for循环进行测试,因此收益最高,可是单元测试适不适合测试人员来作呢?答案是不必定适合,由于对于代码固然是开发者自身最熟悉本身开发的代码了,若是交给测试人员来测的话,测试人员还得清楚开发者的设计思路,对整个流程的代码通读,效率相对低下,因此单元测试在90%以上的公司都是有开发本身完成。web

集成/接口测试相对收益率仍是能够的,主要完成的是对各个类、接口的测试,对某个类中的add()方法,传入适当的参数,测试返回结果的正确性。数据库

UI自动化测试的收益最低,那为何还要进行UI自动化的测试呢,由于最终用户的操做是在UI层,因此大量的测试劳动力都会集中在UI层进行测试;并且,后期的回归测试是至关须要多劳动力进行不断的重复测试的,因此自动化测试就提现出了他的优点了。apache

 

 

什么是selenium

Selenium是一款web应用的自动化测试工具,主要用于UI测试;windows

它的特色有以下几点:浏览器

1.支持多语言:javapythonrubyPHPtomcat

2.多浏览器支持:IEChromeMozila-FireFox

3.开源,免费

4.多平台支持:windowsMACLinux

 

Selenium组成?

 

Selenium有两个版本selenium1.0selenium2.0,如今广泛使用2.0,2.0支持的功能多。

看下selenium1.0的组成构架:

 

 

                                                                                                     

 

Selenium IDE是一个firefox中的一个插件,用于录制浏览器的操做,进而生成脚本的一款便于初学者使用的工具。局限性是其录制的脚本不能直接使用,代码不少的地方须要完善修改。主要是给初学者一个UI自动化的一个认识过程,实际做用不大。

Selenium Grid是一个辅助测试的工具,实现的功能是在多台测试机器上统一执行测试用例。(暂时没有用到)

Selenium RCselenium中的核心部件,用于执行测试脚本进而对浏览器进行操做。RC由两个部件组成:Client LibrariesSelenium Server

Client Libraries中保存的是测试脚本

Selenium Server中使用Launcher来启动和关闭浏览器;在启动浏览器后selenium core被部署到web应用中,core其实是一个JS函数库,selenium就是经过这些JS函数对浏览器进行操做。

 

Selenium2.0 = selenium1.0 + webdriver

2.0相比较于1.0的区别是,2.0selenium使用webdriver来取代了selenium RC的实现方法;

他们的区别是什么:

Selenium RC 在浏览器中运行 JavaScript 应用,使用浏览器内置的 JavaScript 翻译器来翻译和执行selenese 命令(selenese Selenium 命令集合)。

2.0WebDriver 经过原生浏览器支持或者浏览器扩展直接控制浏览器。Webdriver支持的页面操做更多,并且API更简介,易懂。

 

 

Selenium学习前知识储备及预装工具

 

学习selenium须要哪些知识支撑呢?

前端的知识:

HTML--->具体了解下HTML的各个标签的含义都是什么;

JavaScript--->了解JS的基础语法

XML--->了解配置文件

CSS--->能够了解一下,后面使用css定位可能会用到点

 

工具准备:

FireBug是一款Firefox的插件,它集 HTML查看和编辑、Javascript 控制台、网络情况监视器、cookie 查看于一体,是开发 JavaScriptCSSHTMLAjax 的得力助手。

FireBug配对使用的是FirePath,当经过 FireBug 的鼠标箭头选择一个页面元素后,FirePath 输入框将给出 XPath 的表达式,快速的帮咱们定位。

JAVA--->根据本身使用的开发语言进行选择

Eclipse--->脚本标记IDE工具,如今流行的是intellij idea

Selenium jar--->推荐版本:2.53.0

Ant--->构建工具(或者使用maven

Jenkins--->持续集成工具

最后两个工具通常使用在敏捷开发的项目中,须要持续集成的自动化测试,暂时用不到。

相关文章
相关标签/搜索