实验楼-训练营Python Web 自动化测试入门实战 ,跟着步骤走,完成训练
Posted Tynam Yang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验楼-训练营Python Web 自动化测试入门实战 ,跟着步骤走,完成训练相关的知识,希望对你有一定的参考价值。
自动化入门介绍
实验介绍
本次实验主要介绍什么是自动化测试和自动化测试工具 selenium。然后介绍怎么安装浏览器驱动工具 webdriver,并且开发一个简单的自动化测试脚本,体会自动化测试是怎么实现的。
知识点
- 自动化测试介绍
- selenium 介绍
- webdriver 安装
- 第一个脚本开发
自动化测试概念
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。其实质是写脚本或使用工具测试程序。
自动化测试分类
自动化测试是使用各种工具或程序代替人工测试的一种行为。只要是解除人工操作的测试都可以称为自动化测试,细分又有好多种类,下面简单列举一些。
- Web UI 自动化测试。
- API 自动化测试。
- 性能自动化测试。
- 单元测试。
- Windows 窗体 UI 自动化测试。
本系列实验以 Python Web UI 自动化测试为主,为了方便起见以后直接简称自动化测试。
怎么学习自动化测试
写好自动化测试的前提是有夯实的手工测试基础,学习自动化测试的基本路线大致如下:
- 做好手工功能测试(包括测试理论知识,涉及的工具使用等)。
- 学习前端基本知识(HTML、CSS、JavaScript)。
- 掌握一门编程语言(例如 Python、Java)。
- 精通自动化测试工具(目前最流行的为 Selenium)。
- 精通自动化测试框架(UnitTest、Pytest)。
- 熟悉自动化测试模型(线性模型、模块化驱动、数据驱动、关键字驱动、行为驱动)。
- 熟悉集成工具(例如 Jenkins)。
学完以上七点,便可在项目中进行自动化测试。
本系列实验将会以 Python3 + Selenium 为基础进行展开。
什么样的项目适合自动化测试
对项目进行自动化测试之前要了解项目是否适合做自动化测试。业界普遍从三个方面进行考虑。
- 需求稳定,变更不会太频繁。
自动化测试只适用比较稳定的系统或系统中的部分功能模块。如果需求变更过于频繁则自动化测试的脚步维护也就比较大,进而成本也会加大,从而消耗更多的资源,是不划算的。
- 维护周期长,具有生命力。
开发自动化测试脚本是需要时间的。如果项目周期比较短,下一个版本已经开始了,对某些模块有了新的变动,而正在进行的自动化测试开发将会变得毫无意义。
- 被测系统开发规范,可测性强。
测试脚本的开发需要根据被测系统而考虑,如果被测系统架构不完善则测试工具和测试技术很难应对,一旦测试人员的能力不是很好,则设计出来的测试框架、写出来的测试脚本在应对性上也很差。由此便造成自动测试产生的价值没有手工测试来的直接。
selenium 是什么
Selenium 是一个用于 Web 系统自动化测试的工具集,现在所说的 Selenium 通常是指 Selenium Suite,其包含 Selenium IDE、Selenium WebDriver 和 Selenium Grid 三部分。
- Selenium IDE:是一个 Firefox 插件,可以根据用户的基本操作自动录制脚本,然后在浏览器中进行回放。
- Selenium WebDriver:WebDriver 的前身是 Selenium RC,其可以直接给浏览器发送命令模拟用户的操作。Selenium RC 为 WebDriver 的核心部分,它可以使用编程语言如 Java、C#、PHP、Python、Ruby 和 Perld 的强大功能来创建更复杂的测试。Selenium RC 分为 ClientLibraries(编写测试脚本)和 Selenium Server(控制浏览器行为)两部分。
- Selenium Grid:是一个用于运行在不同的机器、不同的浏览器并行测试的工具,用于加快测试用例的运行速度。
安装浏览器驱动
WebDriver 是 Selenium Tool 套件中最重要的组件,其就像一个媒介,用脚本驱动 WebDriver,WebDriver 再去控制浏览器,从而实现脚本对浏览器的操作。
只有安装了浏览器驱动才能使用 Selenium 发送指令模拟人类行为操作浏览器。不同的浏览器需要安装各自的驱动,接下来以 Chrome 浏览器为例安装 chromedriver.exe。
- 查看 Chrome 版本。
由于安装的 chromedriver.exe 版本需要和 Chrome 浏览器版本匹配,所以我们需要知道 Chrome 的版本。从 Chrome 浏览器右上角的菜单中依次选择【帮助(E)】、【关于 Google Chrome(G)】,查看浏览器的版本。
- 下载 chromedriver。
进入 chromedriver 下载地址下载 https://chromedriver.storage.googleapis.com/index.html 或使用淘宝镜像地址下载 https://npm.taobao.org/mirrors/chromedriver/ ,进入后选择对应的版本号。
然后根据自己的系统选择对应的 zip 文件进行下载。如实验的系统是 Linux 则下载 chromedriver_linux64.zip,并将其保存在 /home/shiyanlou/Code/
下。
下载后通过 cd 命令进入到 /home/shiyanlou/Code/
目录中,使用命令 unzip chromedriver_linux64.zip
进行解压。
3. 将 chromedriver 移至 python 所在目录下。
将 chromedriver 移动至 Python 编辑器所在的目录 /usr/bin/
下,使 chromedriver 与 python 处于同一目录下,这样做的目的是便于 Python 在执行时可以找到 chromedriver。 使用命令 sudo cp -r /home/shiyanlou/Code/chromedriver /usr/bin/
。
不同的浏览器需要是使用不同的驱动,下面列出 FireFox 和 IE 浏览器驱动的下载地址。
-
Firefox 浏览器驱动的下载网址:https://github.com/mozilla/geckodriver/releases/ 。
-
IE 浏览器驱动下载:http://www.nuget.org/packages/Selenium.WebDriver.IEDriver/ 。
开发第一个自动化测试脚本
打开 Xfce 终端,依次输入下面命令,先安装 Python3 安装第三方库的程序 pip,安装完成后对 pip 进行升级,然后安装 selenium 库。
sudo apt install python3-pip
sudo pip3 install --upgrade pip
pip3 install selenium
继续输入下面命令,进入到 python 环境中,然后导入 webdriver。
python3
from selenium import webdriver
输入 driver = webdriver.Chrome()
启动 Chrome 浏览器。
输入 driver.get("https://www.shiyanlou.com/")
后在浏览器中打开实验楼首页。
输入 driver.close()
关闭浏览器。
在命令行中体验了怎么运行,现在将上面的步骤写成 py 文件。
在 /home/shiyanlou/Code/
目录下新建 myfirst_project.py
文件。
在 myfirst_project.py
中编辑代码,操作浏览器打开实验楼首页,然后关闭浏览器。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.shiyanlou.com/")
driver.close()
然后打开 Xfce 终端,输入下面命令运行 myfirst_project.py
脚本。
python3 /home/shiyanlou/Code/myfirst_project.py
命令执行后脚本会驱动 webdriver 打开 Chrome 浏览器,然后访问实验楼首页,最后关闭浏览器。
实验总结
实验知识点回顾:
- 自动化测试介绍
- selenium 介绍
- webdriver 安装
- 第一个脚本开发
本次实验主要是一些概念性内容,在做完本实验后对自动化测试有一个基本的认识,了解到本系列实验展开的方向。并且实际动手进行了一次自动化测试脚本开发,体会到自动化测试运行的过程。
以上内容来自课程《Python Web 自动化测试入门实战》,课程后续你将学到:
点击《Python Web 自动化测试入门实战》,学习完整课程内容!
本课程由《Python Web 自动化测试入门与实战》中部分内容改编而成。从自动化入门、元素的基础操作、常用方法的使用等基础知识开始,到单元测试框架 UnitTest 和测试模型的介绍,最后使用 PO 模型结合实验楼网站的几个功能进行项目实战。课程结合工具 Jenkins 进行持续构建,是一个完整的自动化测试体系。
课程中提供详细的步骤和丰富的截图进行展示,内容编排循序渐进,在实验中理论与实践同步进行,尽可能的使学习者掌握所学知识并且熟练运用。
通过学习本课程都能够快速进入 Web 自动化测试领域,对 Web 自动化测试有一个清晰地理解,并且具备承担 Web 自动化测试开发的能力。
发送邮件 tynam.yang@gmail.com 联系笔者获取邀请码,可享受九折优惠。
以上是关于实验楼-训练营Python Web 自动化测试入门实战 ,跟着步骤走,完成训练的主要内容,如果未能解决你的问题,请参考以下文章
RobotFramework + Python 自动化入门 三 (Web自动化)
web自动化测试入门篇04——selenium+python基础方法封装
Python Web 自动化测试之异常cannot find Chrome binary