文章目录
1.什么是自动化测试?
按照设定好的条件或者步骤让机器(电脑)运行
2.自动化测试工具
QTP(Quick Test Professional) HP公司 安装包很大,收费
jmeter 开源工具,性能测试,接口测试,不能做UI界面测试
appium 手机app自动化测试工具
selenium:UI自动化 免费,安装方便
支持多语言(Java,C#,ruby,python,JavaScript)
支持多平台(Windows,Mac)
支持多浏览器(chrome,Firefox,edge,Opera,IE,Safari)
支持分布式测试
selenium支持多浏览器使用(对测试人员)有什么好处?
有利于兼容性测试
3.自动化测试的分类?
UI自动化:
1)用例维护量大
2)在项目后期做UI自动化测试,
3)适用于界面稳定的项目
接口自动化:
1)项目前期就可以介入
2)测试用例维护量少
3)适用于接口稳定的项目
接口自动化测试投入产出比(效率)高于UI界面层的自动化测试
自动化测试的优势(了解):
减少重复测试的时间,实现快速回归测试
创建优良可靠的测试过程,减少人为错误
可以运行更多更繁琐的测试
可以执行一些手工测试困难或不可能进行的测试
更好的利用资源
测试具有一致性和重复性
测试脚本的重用性
自动化测试的适用对象:
适用于需求变动不频繁、项目周期比较长,项目比较稳定,产品型的项目
实施自动化测试的前提条件:需求变动不频繁、项目周期比较长、自动化测试脚本可重复使用
1、需求变动频繁的项目,自动化脚本不能重复使用,维护成本太大,性价比低
2、项目周期短,自动化脚本编制完成后使用次数不多,性价比低
3、交互型较强的项目,需要人工干预的项目,自动化无法实施
如何实施自动化测试
单纯的讲,自动化测试的具体实现,应该是包含下面七个过程的。
- 分析:总体把握系统逻辑,分析出系统的核心体系架构。
- 设计:设计测试用例,测试用例要足够明确和清晰,覆盖面广而精
- 实现:实现脚本,有两个要求一是断言,二是合理的运用参数化。
- 执行:执行脚本远远没有我们想象中那么简单。脚本执行过程中的异常需要我们仔细的去分析原因。
- 总结:测试结果的分析,和测试过程的总结是自动化测试的关键。
- 维护:自动化测试脚本的维护是一个难以解决但又必须要解决的问题。
- 分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本维护的成本。
不是所有的项目都适合做自动化测试
发展方向
- 自动化脚本的执行,维护和结果分析
- 自动化脚本的编写
- 自动化测试方案的设计,框架的选型
- 自动化测试框架的编码实现
- 自动化测试框架的设计
自动化测试需要了解的技能
了解基本业务
了解业务的技术框架
懂得功能测试
懂得一种编程语言
懂数据库、操作系统
了解常见的测试框架
为什么用python语言来写自动化测试脚本?
python解释型脚本语言,简单,易学,很多公司自动化测试都用
什么是selenium
工具集:selenium1.0 selenium2.0
selenium1.0 包括:
selenium IDE:自动化脚本录制工具
selenium GRID:分布式测试
selenium RC:
selenium1缺点:JavaScript的环境沙箱问题
selenium2.0=selenium1.0+webdriver(浏览器的驱动,根据不同浏览器定制,绕过了JavaScript的环境沙箱问题)
webdriver工作原理:
乘客坐出租车,乘客告诉司机要去哪里怎么走,乘客相当于测试脚本,使用webdriver api写的,司机根据脚本驾驶车走,司机就相当于webdriver,车就相当于浏览器。
现在的selenium又增加了一些东西:一些浏览器的内核,Safari,edge,Opera
Python+selenium 环境安装注意事项
1)安装Python
安装在英文路径
注意勾选左下角 checkbox(add python to path),设置Python的环境变量
安装好之后,打开cmd,输入Python,回车,出现Python的版本号
2)安装pycharm及配置
pip install selenium:安装selenium
pip show selenium:检验是否安装完成
pip install setuptools
settings 配置解释器
3)创建工程和文件
4)配置ChromeDriver
先查看浏览器版本号,https://npm.taobao.org/mirrors/chromedriver/
查找到相应版本的谷歌驱动下载:[http://npm.taobao.org/mirrors/chromedriver/]
下载成功后放到python安装路径下 C:\Users\lenovo\AppData\Local\Programs\Python\Python38\Scripts
录制脚本
安装 selenium ide使用火狐浏览器
安装
这样就可以录制我们的脚本了
开始录制脚本
1.firefox右上角,点击selenium IDE图标,进入selenium IDE界面;
2.进入selenium IDE界面,首先我们选择创建项目,我们直接选择Create a new project
3.输入项目名称,点击ok;
4.修改文件名 :
5.开始录制:
6.输入url,点击start recording;
7.firefox会打开输入的url地址页面并进行录制
8.此时,对浏览器进行一系列的操作,selenium IDE会记录所有的操作,比如在搜索框中输入刘亦菲并进行查询;
9.结束录制。在selenium IDE界面右上角,点击结束录制图标,
10.导出录制的脚本。点test1右边的三个点,选择export;
11.这里提供多种语言的脚本导出,选择需要导出的语言,然后点击export即可,我选择的是 Python pytest 然后点击export
12.导出后的脚本内容如下:
# Generated by Selenium IDE
import pytest
import time
import json
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
class TestTest1():
def setup_method(self, method):
self.driver = webdriver.Firefox()
self.vars = {}
def teardown_method(self, method):
self.driver.quit()
def test_test1(self):
self.driver.get("https://www.baidu.com/")
self.driver.set_window_size(638, 680)
self.driver.find_element(By.ID, "kw").click()
self.driver.find_element(By.ID, "kw").send_keys("刘亦菲")
self.driver.find_element(By.ID, "kw").send_keys(Keys.ENTER)
这样就成功录制一个脚本了