第一章 自动化测试简介、selenium 环境搭 建
1.1 自动化测试简介 B/S Web 自动化:selenium 手机:移动段自动化,appnium 接口自动化:工具:postman、Jmeter 代码:httpclient 性能测试
自动化测试流程: 可行性分析-->测试需求分析--> 制定测试计划 -->自动化测试设计--> 测试脚本开-->无人职 守测试 -->提交测试报告--> 脚本维护阶段
1.4 自动化测试及工具简述
QTP:是 quicktest Professional 的简称,是一款商业化的自动化测试工具。提供了强大 易用的录制回放功能。支撑 B/S、C/S 两种架构的软件测试。
Robot Framework :是一款 python 编写的功能自动化测试框架。具备良好的可扩展性, 支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。
Selenium : 是一款用于 Web 应用程序测试的工具,它支持多平台、多语言、多浏览去实 现自动化测试。
1.5 Selenium 工具介绍
Selenium 是 ThoughtWorks 专门为 Web 应用而开发的自动化测试工具,适合进行 功能测试、验收测试,同时支持所有基于 web 的管理任务自动化。
主要功能包括:测试与浏览器的兼容性,测试你的应用程序看是否能够很好得工 作在不同浏览器和操作系统之上。测试系统功能,创建回归测试检验软件功能和用户需求。 Selenium 特点:
开源、免费
多浏览器支持:Firefox、Chrome、IE、Opera
多平台支撑:windows、linux、MAC
对 web 页面有良好的支撑
简单(API 简单)、灵活(用开发语言驱动)
支持分布式执行测试用例 自动化测试的目的:冒烟测试、业务回归测试、web 浏览器的兼容性测试
1.6 Selenium 工具组成
Selenium IDE 是嵌入到 Firefox 浏览器中的一个插件,实现简单的浏览器录制与回 放功能。
实际场景中如何使用?
快速的创建 BUG 重现脚本,在测试人员的测试过程中,发现了 BUG 之后可以通 过 IDE 将重现的步骤记录下来,以帮助开发人员更容易的重现 BUG。
IDE 录制的脚本可以转换成多种语言,从而帮助我们快速的开发脚本。
Selenium Gird 是一种自动化测试的辅助工具,Gird 通过现有的计算机基础设施,能 加快 web_app 的功能测试,利用 Gird,可以很方便的同时在多台机器上和异构环境中并行 运行多个测试用例。其主要特点:
并行执行
通过一个主机统一控制用例在不同环境、不同浏览器下运行
灵活添加变动测试机
Selenium RC 是 Selenium 家族的核心工具,Selenium RC 支持多种不同的语言编写 自动化测试脚本,通过 Selenium RC 的服务器为代理服务器去访问应用从而达到测试的目的。
Selenium RC 使用分 Client Libraries 和 Selenium Server,Client Libraries 库主要用于编 写测试脚本,用来控制 Selenium Server 的库。
Selenium Server 负责控制浏览器的行为,它主要包含 3 部分:Launcher、Http Proxy、 Core。其中 Core 是被 Selenium Server 嵌入到浏览器页面中,它本质是 JS 函数的集合,通过 对这些 JS 函数进行操作,实现用程序对浏览器进行操作。Launcher 用于启动浏览器,把 Core 加载到浏览器页面中,并把浏览器代理设置成为 Selenium Server 的 Http Prox
WebDriver 通过原生浏览器支持或者浏览器扩展直接控制浏览器。WebDriver 针对 各个浏览器而开发,取代了嵌入到被测 web 应用中的 javascript,与浏览器紧密集成。同时 WebDriver 还利用操作系统级的调用模拟用户输入
WebDriver 原理
练习:
1. 安装 Maven 并配置好
2. 通过 Maven 拉最新的 selenium 包 3.8.1
3. 安装最新的 Google 浏览器,查自己的 Google 版本,查对应的驱动版本,下载 对应的驱动放 jdk 安装目录的 bin 目录下,或者在 google 浏览器安装目录下也放 一个
4. 新建一个包 com.newdream.class1--> 新建一个类 baiduDemo 类
5. 把演示的代码敲好,能跑自动化脚本就 OK 了,5 分到手
第二章 浏览器操作及对象定位
2.1 selenium 安装浏览器驱动
Webdriver 支 持 FireFox(FireFoxDriver) 、 IE(InternetExplorerDriver) 、 Chrome(ChromeDriver)、Opera(OperaDriver),它还支持 AndriodDriver 和 Iphone(IphoneDriver) 的移动应用测试。
1、FireFox
WebDriver 实现了 FireFoxDriver,无需用户下载 FireFoxDriver。
优点:FireFoxDriver 对页面的自动化测试支持得比较好,很直观地模拟页面的操作,对 JavaScript 的支持也非常完善,基本上页面上做的所有操作 FireFox Driver 都可以模拟。
缺点:启动很慢,运行也比较慢,不过,启动之后 Webdriver 的操作速度虽然不快但还是可 以接受的,建议不要频繁启动停止 FireFoxDriver。
使用 Firefox 浏览器只需要设置 WebDriver driver = new FirefoxDriver(),前提是你的 Fir