自动化测试selenium篇1

1.什么是自动化测试

自动化测试介绍
自动化测试指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果,将人为驱动的测试行为转化为机器执行的过程。

常见的自动化测试工具

  • QTP :quiet fast profession 图形化界
  • selenium:测试工具集 web端 开源 多平台
  • jmeter:apache 开源 压力测试和接口测试的工具
  • Loadrunner:性能测试(相应时间、吞吐率等)
  • appium: 手机端应用测试工具 开源 IOS 安卓 Java Python
  • soapui:接口测试工具

自动化测试方法

测试对象:UI、接口、代码
测试过程:系统测试、集成测试、单元测试
执行人员:测试人员、开发人员

  • UI自动化
    用例维护量大
    页面相关性强,必须后期介入
    UI测试适合与界面变动较小的项目
  • 接口自动化
    可在产品前期介入
    用例维护量小
    页面相关性小
    适合接口变动较小,界面变动频繁的项目

自动化测试的适用对象

实施自动化测试的前提条件:需求变动不频繁、项目周期足够长、自动化测试脚本可重复使用

  • 1、需求变动频繁的项目,自动化脚本不能重复使用,维护成本太大,性价比低
  • 2、项目周期短,自动化脚本编制完成后使用次数不多,性价比低
  • 3、交互型较强的项目,需要人工干预的项目,自动化无法实施

2.什么是Selenium

Selenium是ThroughtWorks公司一个强大的开源Web功能测试工具系列,支持多平台、多浏览器、多语言去实现自动化测试,Selenium2将浏览器原生的API封装成WebDriver API,可以直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的),所以就像真正的用户在操作一样。

Selenium的三多:
支持多种开发语言:ruby,python,java,perl,c#,
支持多平台:Windows、Linux、Mac
支持多浏览器: IE、Chrome 、Firefox、edge、Safari

selenium的工具集
selenium1:selenium IDE, selenium RC, selenium Grid
selenium2:selenium1+webdriver
selenium3:做了一些更新 增加了edge sarafi原生驱动

webdriver的工作原理:

  • 启动浏览器后,selenium-webdriver会将目标浏览器绑定到特定的端口,启动后的浏览器则作为webdriver的 remote server。
  • 客户端(也就是测试脚本),借助ComandExecutor发送HTTP请求给sever端(通信协议:The WebDriver Wire
    Protocol,在HTTP request的body中,会以WebDriver Wire协议规定的JSON格式的字符串来告诉Selenium我
    们希望浏览器接下来做什么事情)。
  • Sever端需要依赖原生的浏览器组件,转化Web Service的命令为浏览器native的调用来完成操作

举个例子:自动化测试selenium篇1

在WebDriver中也有类似的三个角色:

  1. 工程师写的自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动)
  2. 浏览器的驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器
  3. 浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。

所以在这个例子比中:

  1. 工程师写的自动化测试代码就相当于是乘客

  2. 浏览器的驱动就相当于是出租车司机

  3. 浏览器就相当于是出租车