自动化测试概述

7/25/2020

# 测试分类

  • 按是否查看源代码划分 黑盒测试: 白盒测试: 灰盒测试:

  • 按开发阶段划分 单元测试: 集成测试: 系统测试: 验收测试:

如下图是经典的软件研发周期模型V模型,其实上面的分类出处于此

  • 按是否运行划分 静态测试 动态测试

  • 按测试对象划分 文档测试 功能测试 界面测试 业务测试 兼容性测试 用户体验测试 易用性测试 安装卸载测试 性能测试 内存泄漏测试 安全测试

  • 按应用划分 Web功能测试: 其中web测试的对象包括了上面提到测试对象 APP功能测试: APP接口测试: APP自动化测试: APP专项测试 app在手机占用的CPU app在手机占用的内存 app在手机上的耗电量 弱网测试 FPS过度绘画 流畅度

  • 按照程序使用组织对象划分 阿尔法()版本测试 贝塌()版本测试 release版本测试

  • 按是运行程序划分 手工测试 自动化测试

  • 其他分类 冒烟测试 探索性测试 验收测试

# 第一章 环境搭建

# 1.1 Python环境搭建

# 1.1.1 Python安装包下载

Python官网 (opens new window):https://www.python.org, 打开官网

Python文档下载地址 (opens new window):https://www.python.org/doc/

根据不同的操作系统下载对应的安装包即可

![image-20210612144429385](/Users/mac/Library/Application Support/typora-user-images/image-20210612144429385.png)

# 1.1.2 Win Python环境配置

点击Downloads-》Windows

根据操作系统位数选择下载

下载完成后双击直接安装,全程点击下一步即可,除了这一步一定要勾选Add Python 3.8 to  Path 这个选项

否则安装完成之后命令行无法执行python,需要手动配置

这里我们选择自定义安装,将 Python 安装到常用的目录,避免C盘文件过多。点击“Customize installation”进行入下一步,选择要安装的 Python 组件

没有特殊要求的话,保持默认即可,也就是全部勾选。

点击“Next”继续,选择安装目录。

选择好你常用的安装目录,点击“Install”,等待几分钟就可以完成安装。

安装完成以后,打开 Windows 的命令行程序(命令提示符),在窗口中输入python命令(注意字母p是小写的),如果出现 Python 的版本信息,并看到命令提示符>>>,就说明安装成功了,如下图所示。

运行 python 命令启动的是 python 交互式编程环境,我们可以在>>>后面输入代码,并立即看到执行结果,请看下面的例子。

按下Ctrl+Z快捷键,或者输入 exit() 命令即可退出交互式编程环境,回到 Windows 命令行程序。

# 1.1.3 Mac Python环境配置

点击Downloads-》Max OS X

打开链接,可以看到各个版本的 Python:

点击下面的链接开始下载

macOS 64-bit installer即为 Mac OS X 系统的 Python 安装包。点击该链接,下载完成后得到一个 python-3.8.1-macosx10.9.pkg 安装包。

双击 python-3.8.1-macosx10.9.pkg 就进入了 Python 安装向导,然后按照向导一步一步向下安装,一切保持默认即可。

安装完成以后,你的 Mac OS X 上将同时存在 Python 3 和 Python 2的运行环境,在终端(Terminal)输入python命令将进入 Python 2开发环境,在终端(Terminal)输入python3命令将进入 Python 3.开发环境,即python安装完成。

# 1.2 Selenium环境搭建

# 1.2.1 Selenium介绍

Selenium 是一个用于Web应用程序自动化测试工具。它能够模拟人工操作浏览器的各种动作向浏览器发送这些指令,来实现自动化的操作我们系统业务来达到验证回归测试的目的。

# 1.2.2 主要功能

  • 回归测试:回归验证软件系统的功能;
  • 兼容性测试:通过在不同浏览器或者操作系统上运行系统以验证兼容性;

# 1.2.3 SE官网地址

  • 地址 (opens new window): https://www.selenium.dev
  • SE使用文档地址1: https://www.selenium.dev/documentation/zh-cn/
  • SE使用文档地址2:https://python-selenium-zh.readthedocs.io/zh_CN/latest/
  • SE使用文档地址3:http://www.selenium.org.cn/category/install
  • 官网首页

# 1.2.4 Selenium核心组件

selenium三大核心组件如下图:

selenium核心组件图

  • Selenium WebDriver

Selenium WebDriver是客户端API接口,相当于python中的一个库,测试人员可以通过编写脚本调用这些接口来驱动本地浏览器驱动, 本地浏览器驱动再操作我们本地浏览器。

原理图如下:

Selenium WebDriver也能调用API配合Remote Driver来驱动远程浏览器驱动,再驱动远程浏览器进行操作。

原理图如下:

Selenium WebDriver 也能调用API配合Selenium Grid进行分布式测试。

原理图如下:

Selenium IDE是一个浏览器插件,支持Chrome和Firefox浏览器,可以录制浏览器操作动作,并自动生成测试脚本,实现回放,也可以把脚本导出进行研究,对于初学者,学习脚本和回归测试都很有帮助。后面的章节我们会讲到。

如下图:

  • Selenium Grid

通过在多台计算机上进行分布式来扩容,并从一个中心点管理多个环境,对多种浏览器/0S组合运行测试

如下图:

# 1.2.5 Selenium下载安装

我们安装好python环境之后就可以使用其安装包管理器pip来安装selenium库,打开Tertmianl

,输入pip3 install selenium

验证是否安装好selenium,在Terminal命令行输入pip3 list查看安装的库列表是否有selenium。

# 1.3 浏览器驱动环境搭建

前面我们已经讲过,selenium是先驱动浏览器驱动,再通过驱动去打开我们计算机上的浏览器客户端,所以我们要下载浏览器驱动

# 1.3.1 浏览器驱动下载地址

地址列表 (opens new window): https://www.selenium.dev/documentation/zh-cn/webdriver/driver_requirements/

如果上面的地址无法打开,其他镜像下载地址

# 1.3.2 windows驱动配置

我们以安装chrome为例,宣查看本地chrome浏览器版本:

如图我的chrome版本为: 版本 91.0.4472.77(正式版本) (x86_64)

那么需要下载对应版本的chromedriver驱动

点击下载下来解压, 解压得到chromedriver.exe

通过把chromedriver.exe复制移动到python的安装记录下即可

# 1.3.3 mac驱动配置

我们以安装chrome为例,宣查看本地chrome浏览器版本:

如图我的chrome版本为: 版本 91.0.4472.77(正式版本) (x86_64)

那么需要下载对应版本的chromedriver驱动

点击下载下来解压

通过如下命令mv chromedriver /usr/local/bin/把chromedriver 移动到/usr/local/bin/路径下即可

#

# 1.3.4 验证selenium

在widows和mac 上terminal输入以下命令如果能自动打开chrome浏览器则安装成功

from selenium import webdriver

browser = webdriver.Chrome() 回车

# 1.4 SE运行原理

  • 对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动
  • 浏览器驱动中包含了一个HTTP Server,用来接收这些http请求
  • HTTP Server接收到请求后根据请求来具体操控对应的浏览器浏览器执行具体的测试步骤浏览器将步骤执行结果返回给HTTP Server
  • HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息。

# 1.5 SeleniumIDE

Open source record and playback test automation for the web 开源的录制回放web自动化测试工具。

Selenium IDE地址 (opens new window): https://www.selenium.dev/selenium-ide/

Selenium IDE是Selenium提供的一个浏览器插件,支持Chrome和Firefox浏览器。可以实现Web自动化测试的录制和回放,还可以生成自动化测试脚本。对于初学者学习Selenium编程和回归测试都很有帮助。

  • 在Chrome浏览器下安装Selenium IDE 。
  • 在Firefox浏览器下安装Selenium IDE

# 1.5.1 SE-IDE安装

点击chrome版本插件下载即可

![image-20210612155251554](/Users/mac/Library/Application Support/typora-user-images/image-20210612155251554.png)

点击跳转到安装页面,点击安装按钮

安装好插件,点击插件就可以看到如下图,即IED已经安装

# 1.5.2 SE-IDE界面功能介绍

  • 录制按钮

  • 暂停按钮

  • 运行当前测试用例

  • 运行测试套件中的所有测试用例

  • 用例执行速度调节

  • 回放日志及结果

![](https://files.mdnice.com/user/13880/11954fd7-bacb-4780-8092-44d75d209fd1.png

# 1.5.3 脚本录制

  • 点击创建新项目按钮,创建新项目,给项目起个名字:autoTest

  • 点击录制按钮,输入要录制的网址如:https://www.baidu.com

点击开始录制按钮 Start Recording

  • 现在开始录制脚本了,我们在浏览器中去操作的动作会被录制成脚本

    ![image-20210614083826241](/Users/mac/Library/Application Support/typora-user-images/image-20210614083826241.png)

我们录制完成后点击关闭浏览器即可

  • 点击停止录制按钮,只有停止了脚本才会生成并可以编辑

![image-20210614084010409](/Users/mac/Library/Application Support/typora-user-images/image-20210614084010409.png)

停止时输入需要保存的测试用例名称:

# 1.5.4 脚本回放

  • 脚本已经录制,如下图:

# 1.5.5 脚本导出

# 1.6 PythonIEA编辑器

# 1.6.1 脚本导入

# 1.7.2 脚本编辑

from selenium import webdriver
from time import sleep


driver = webdriver.Chrome()
driver.get('https://wwww.baidu.com')
sleep(1)
driver.maximize_window()
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
sleep(5)
driver.quit()

1
2
3
4
5
6
7
8
9
10
11
12
13
Last Updated: 7/25/2021, 11:17:44 PM