自动化测试-selenium

287 阅读5分钟

自动化测试-selenium

一、自动化测试初识

1、什么是自动化测试

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

实际上,我们的自动化测试只能代替一部分的手工测试。因为随着软件功能的增加,版本越来越多,版本回归的压力也越来越大,所以仅仅通过人工测试来回归所有的的版本肯定是不现实的,因此我们需要借助自动化来进行回归测试

2、自动化发展趋势

  • 测试任务复杂、工作量大,对测试系统的功能、性能提出更高的要求
  • 测试速度快、精度高,测量准确度高
  • 长期进行定时或不间断测试
  • 危险或测试人员难于进入的场地的测试
  • 延长测试设备本身寿命

3、自动化测试优点

  • 节省人力,只要代码维护的好,不需要那么多人就可完成测试
  • 节省时间,测试脚本可以晚上或者是周末跑测试脚本
  • 优化资源分配,在运行测试脚本的同时,QA可以做其他事,比如设计新测试用例
  • 方便回归,极大提高效率
  • 增加软件的可信度,测试是机器执行的,排除了手工测试时因人为情绪而发生的随意性或疏忽性,测试结果更可信
  • 能完成手工不易控制的工作,比如采集系统cpu占有率信息,手工计算很复杂,还要进行数据比对,使用脚本更简单,更方便

4、自动化测试的缺点

  • 脚本维护成本高,尤其是版本变动比较大,对项目来说,是潜在的风险
  • 不易发现新bug

5、Selenium初识( web常用自动化工具)

selenium是一个web的自动化测试工具,具有以下优点:

  • 开源免费
  • 支持多浏览器,如chrome,Firefox,IE,edge…
  • 支持多系统,如Linux、Windows、MacOS…
  • 支持多语言,如Java、python…
  • selenium底层有很多可使用的API

6、什么是驱动

简单来说驱动就是使某个东西运行起来的东西或操作,汽车的驱动让汽车动起来,计算机里面的驱动可以让计算机和设备工作起来

同理,我们打开浏览器也需要驱动,在人工测试的情况下,我们是人工驱动去打开浏览器,但在自动化的情况下,我们通过代码来驱动程序打开浏览器。

自动化测试selenium、 驱动、浏览器三者关系如下图:即代码发送请求—>驱动接受请求—>驱动解析请求

image.png

二、python+selenium自动化测试环境搭建步骤

对于自动化小白来讲,第一步就是环境搭建,下面我们将基于Python语言来进行的自动化环境搭建,python+selenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动,其中浏览器也可以是火狐,IE等(目前自动化的主流浏览器还是chrome谷歌浏览器)

1、python的安装

(1)安装很简单,在官网(官网地址:www.python.org/) 选择对应系统的版本直接下载,然后双击安装即可,安装路径可自定义,不是一定非要安装在C盘,但请尽可能避免中文路径。

image.png

(2)下载完成后,打开下载路径,双击exe文件直接进行傻瓜式安装(安装的时候勾选add python.exe to path自动添加环境变量,不然就只能手动添加了)

image.png

image.png

(3)安装好后,win+r打开命令行窗口,输入python 如果显示下图,就说明安装成功!

image.png

2、安装pycharm编译器,安装地址:www.jetbrains.com/pycharm/dow…

image.png

3、安装安装selenium库

win+r打开命令行窗口,输入pip install selenium,等待cmd窗口提示successful,则selenium安装成功,如中途中断了继续输入pip install selenium重新安装,不影响!,如下图所示,即为安装成功

image.png

4、下载chrome浏览器及安装驱动

(1)Chrome官网下载地址:
www.google.cn/chrome/

下载完成后双击会自动安装。等待安装完成即可

image.png

(2)安装浏览器驱动

chrome浏览器驱动必须和安装的chrome浏览器版本对应,点击chrome浏览器右上角的三个点-->帮助-->关于Google Chrome可以检查浏览器的版本

image.png

Chromedriver驱动下载地址:
npm.taobao.org/mirrors/chr…

找到和上图chrome版本最接近的版本:上图为:118.0.5993.118,上面的链接并没有118版本,所以这里驱动需要手动搜索最接近的,也就是118版本:googlechromelabs.github.io/chrome-for-…

image.png

下载完成后:把chrome驱动包与python执行的程序放在同一目录下,大功告成,如图

image.png

5、尝试一个简单的自动化测试,代码如下:

在Pycharm中输入如下代码,看看是否能自动打开chrome浏览器且打开百度,如果能打开则说明python+selenium自动化测试环境已经OK了!

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("https://www.baidu.com/")
time.sleep(5)

image.png

四、报错问题

1、python中selenium未解析引用

(1)原因分析:pycharm自动设置了运行环境为虚拟环境,虽然操作系统中安装了selenium,但是虚拟环境中并没有安装selenium 模块,所以有这个错误提示

(2)解决:进入项目的python虚拟环境中安装selenium

  • 命令行进入项目目录的虚拟环境:cd D:\pycode\test\venv
  • 进入python虚拟环境:Scripts\activate
  • 执行pip install selenium ,安装selenium模块
  • 再在pycharm页面查看selenium包已经安装,报错也没有了