Selenium家谱

  自动化测试一词也算是整个测试行业里面比较热门的一个词儿,工资高,前景好,有实力,有态度等等,不少企业的管理者也在不断的扩大本身的队伍和职能,这也是致使自动化测试比较流行的缘由之一。可是不少企业作自动化测试并不能真正解决企业面临的问题或者说对自动化测试的理解并不够。虽然我从事自动化测试工做的年限也不是好久,可是仔细想一想作的好的自动化测试的企业还真有一些,好比BAT,可是不少小型互联网公司作自动化测试就不必定有意义了,在我看来,他们是为了自动化测试而自动化测试。由于UI层的自动化测试不是单一作战,而是和server层,unit层协同做战!php

  自动化测试在作以前须要进行严格的考虑,不论是系统的稳定性仍是人力配备都是参考点。不能把全部的责任都放到UI层测试,每个阶段(单元层/接口层)都要作好自动化测试,这样作自动化测试的结果才有意义。而偏偏相反的是如今是不少公司不作单元测试和接口测试,直接作UI层的自动化测试,我坚信这样产生的结果必定是是劳民伤财并且意义不多的。python

  根据本身对自动化测试的多年实战经验和作过的测试项目获取的经验总结,在此,对自动化测试进行了一些阐述,不喜勿喷。web

写的比较简洁,并且这些点确实是任何一个管理者在招聘时应该考量的点(本篇文章面向有测试经验的同窗了解)chrome

今天咱们从如下几个方面来聊一聊自动化测试。数据库

1、自动化测试定义
2、什么样的项目适合作自动化测试  
3、自动化测试对比手工测试的优缺点
4、市场上主流的自动化测试工具介绍
5、Selenium家谱及工具介绍
6、Selenium自动化测试环境搭建

1、自动化测试定义编程

自动化测试是通工具录制或编写脚本的方式模拟手工测试的过程,经过回放或运行脚原本执行测试用例,从而代替人工对系统的功能进行验证.

2、什么样的项目适合作自动化测试windows

  1.需求明确,不会频繁变动   2.系统界面稳定   3.项目周期长   4.自动化测试脚本可重复利用   5.人员规模   6.频繁的回归测试   7.可自动化率30%-40%

3、自动化测试对比手工测试的优缺点后端

自动化测试特色:api

  1.提升软件质量   2.提升测试效率   3.测试具备一致性和重复性   4.准确可靠、避免人的主观性   5.24h*365 任什么时候间 任何地点 无疲劳   6.增长软件信任度   7.增进测试人员和开发之间的合做关系

手工测试特色:浏览器

  1.较好的异常处理能力、比较灵活   2.测试具备必定的跳跃性   3.人工测试步步追踪,细致定位   4.主要用于发现软件缺陷

4、市场上主流的自动化测试工具介绍

1.QTP(UTF) :提供录制、回放、支持C/S ,B/S两种架构系统,收费,须要破解,只支持ie浏览器(ie9如下) 2.Robot Framework : 支持关键字驱动,Python语言编写的一款自动化测试框架,支持数据库测试,移动端测试,接口测试 3.RFT :(和Qtpl相似),支持录制和回放,支持C/S B/S两种架构的系统,收费,须要破解,支持Java .net vbscript语言 4.Watri : 也是一款Web应用程序的自动化测试工具,使用Ruby语言开发的一款自动化测试工具(Ruby是日本编程语言) 5.Selenium(目前最火) :   a.支持多语言:Java Python C C++ C# php Javascript Ruby (后端开发语言)   b.支持多浏览器:Chrome Firefox Ie Safari Edge(windows10自带) Opera(原名欧朋 现被360收购)   c.支持多平台:Linux Windows Mac OS   d.简单API : 不少操做浏览器的方法(webdriver api ) 好比最大化浏览器 等待 操做下拉框等等 ......   e.支持并行执行测试用例:能够在windows下面谷歌浏览器作自动化测试同时也能够在Liunx火狐浏览器作自动化测试   f.开源、免费、支持二次开发(能够对selenium的源码进行改造)

5、Selenium家谱及工具介绍

Selenium是什么? Selenium是一个自动化测试工具集。包含Selenium1.0 Selenium2.0 selenium3.0,其中Selenium1.0包含Selenium ide Selenium grid selenium rc Selenium2.0包含Selenim1.0 + Webdriver Selenium1.0的构成 : selenium ide + selenium grid + selenium rc     ide :提供录制和回放的一个工具(火狐浏览器自带的一个插件)     grid:支持并行执行测试用例     rc:能够简单理解为控制浏览器行为的一个远程服务器 Selenium2.0的构成:Selenium1.0 + Webdriver Webdriver:它是一套操做浏览器的api(接口规范) 包含了控制浏览器行为的一些操做方法(好比最大化浏览器 等待 操做下拉框等等 ......) 补充一点:firefox46版本如下的驱动是自动集成在浏览器自己的。
Selenium3.0的构成(2016年7月末出现第一个beat版本): Selenium3.0=Selenium ide + Selenium grid + Sebdriver     1.去掉了RC,全面支持webdriver     2.支持Java8以上的开发环境     3.Firefox的驱动和selenium分离。只支持firefox47版本以上的浏览器,另外须要单独配置驱动。

 

浏览器驱动是什么?
  每一种浏览器都有本身的原生浏览器驱动,驱动是一个.exe文件 好比谷歌的驱动 chromedriver.exe 须要单独下载驱动(网上下载)作自动化测试须要调用浏览器的驱动来完成!

RC和webdriver区别是什么?
    RC:是经过外部一大堆JS函数来调用浏览器作自动化测试
    Webdriver:是经过原生浏览器驱动来调用浏览器作自动化测试
    Webdriver和浏览器的紧密结合度比RC更好,因此在selenium中主推webdriver,在selenium2.0当中主推的是webdriver 
    由于RC最开始有一部分用户为了保持向下兼容,因此RC没有彻底去掉。

Selenium2.0 和Selenium3.0区别不是很大,具体看Selenium3.0的构成! 目前市场上说selenium或者是招聘网上说的selenium无特殊指明,均为selenium2.0或者3.0 来。咱们看一张图。

 

6、Selenium2.0 自动化测试环境搭建

1.cmd ---> pip install selenium==2.53.0 (若是selenium后面不跟==表示默认安装最新版本) 2. pip show selenium 查看selenium安装的版本号(该操做在cmd->windows下面查看) (注意:1.pip 是什么? pip是python2.7.9版本之后自动集成到python中的一个包管理工具,方便下载和python有关的包或者模块) 3.验证环境是否安装成功python交互模式下--->输入from selenium import webdriver -->运行无报错(安装成功) 4.配置浏览器驱动,这里咱们教学使用的chrome浏览器,目前最新的版本是63.0.3239.84(正式版本) 6.直接将chromedriver.exe (chromedriver.exe原封不动复制到C:\Python27目录下面) 7.在idle编辑器里面敲一段代码:     from selenium import webdriver     driver = webdriver.Chrome()     driver.get('https://www.baidu.com') 运行无报错,说明安装成功!
相关文章
相关标签/搜索