什么是自动化测试?python+selenium自动化测试环境搭建步骤教程

一、自动化简介

1、什么是自动化?

自动化测试就是让被测试的软件自己运行起来,执行软件的功能;或者就是让其他的工具自己运行起来,去检查软件的内部和外部。 让机器自己动,就是自动。让机器按照人类的要求,把软件的所有功能遍历一遍,这是自动化。

什么是自动化测试?python+selenium自动化测试环境搭建步骤教程_第1张图片

2、自动化测试方案:

主流的自动化测试方案,无一例外,都有人机沟通的编程语言,加上机器操作的工具来组成。

VBScript + QTP(HP UFT),商用功能自动化测试方案 。

Python/PHP/Java/C#/JavaScprit/Ruby + Selenium/Appium + 单元测试框架,开源功能自动化测试方案,Selenium/Appium 本身不能算是测试工具,而只是机器用来操作浏览器的工具,工具外加指定的语言,可以让机器来操作浏览器,但是到此时还无法做到测试,于是才需要每个语言自己的单元测试框架,来一起完成这个功能自动化测试方案的构建。

3、自动化测试范围:

什么是自动化测试?python+selenium自动化测试环境搭建步骤教程_第2张图片

自动化测试覆盖了从 UI (功能测试)到契约(接口测试)以及底层代码方法(单元测试)的整个过程,要想很好的掌握自动化测试,那么的确需要以下三种领域的经验积累: 编程语言,面向对象编程优先,因为大量的开源技术方案,都是基于面向对象的编程方式。 第三方测试工具和测试框架,这些主要通过官网的文档学习。 测试的理念与设计,工具和语言,只是测试的手段,如何准备测试数据,如何设置测试的检查点与测试步骤,这些决定了测试的成败。

4、自动化测试的发展:

第一代的自动化测试大概在15年前开始,透过硬件的方式录制键盘的输入并播放,但缺少检查点(checkpoint)的功能,而且测试脚本很难维护。

第二代的自动化测试则大约在10年前开始的,这时已经由硬件转变成透过软件录制/播放(capture/playback)的方式产生测试脚本(), 并且也增加了检查点的功能,可以对软件做验证,测试的范围也比硬件方式的自动化方式大了许多。比较大的问题是测试脚本也是一种程序语言,所以测试人员也需 要懂程序语言,换句话说就是要会写程序。而且当软件有变动时,测试脚本也需要同步更新,这对测试人员来说是一大挑战,测试人员常常就是整个测试脚本再重新 录制一遍。

在2001年开始了第三代的自动化测试称为「测试框架(test framework)」,主要是把测试脚本给抽象化(abstraction)(注:如Keyword-Driven Test),让非技术人员(如系统分析师、使用者等)即使不懂测试脚本,不会写程序的情况下,也可以使用自动化测试工具建立自动化测试个案。

第四代Mercury Business Process Testing:专注于业务需求的自动化测试。随着测试仪器和测试技术的不断提高,自动化测试技术也经历了不断的完善、提高和发展的历程。

5、自动化发展趋势:

1)、测试任务复杂、工作量大,对侧试系统的功能、性能提出更高的要求。

2)、测试速度快、精度高,测量准确度高。

3)、长期进行定时或不间断测试。

4)、危险或测试人员难于进入的场地的测试。

5)、延长测试设备本身寿命。

6、自动化测试优点:

a) 节省人力,只要代码维护的好,不需要那么多人就可完成测试

b) 节省时间,测试脚本可以晚上或者是周末跑测试脚本

c) 优化资源分配,在运行测试脚本的同时,QA可以做其他事,比如设计新测试用例

d) 方便回归,极大提高效率

e) 增加软件的可信度,测试是机器执行的,排除了手工测试时因人为情绪而发生的随意性或疏忽性,测试结果更可信

f) 能完成手工不易控制的工作,比如采集系统cpu占有率信息,手工计算很复杂,还要进行数据比对,使用脚本更简单,更方便

7、自动化测试的缺点:

a) 脚本维护成本高,尤其是版本变动比较大,对项目来说,是潜在的风险

b) 不易发现新bug

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

对于很多想要学习自动化的小白而言,环境的搭建,一直以来都是很麻烦的事情,下面我们将基于Python语言来进行的自动化环境搭建,python+selenium自动化测试环境包括四个部分:python、selenium、chrome谷歌浏览器、chrome谷歌浏览器驱动。其中浏览器也可以是火狐,IE等。目前自动化的主流浏览器还是chrome谷歌浏览器

(1)python的安装

目前测试行业应用最广的编程语言当属Python为首。python现在主流是3.7的版本。安装很简单,在官网(官网地址:https://www.python.org)选择对应系统的版本直接下载,然后双击安装即可,安装路径可自定义,不是一定非要安装在C盘,但请尽可能避免中文路径。

什么是自动化测试?python+selenium自动化测试环境搭建步骤教程_第3张图片

python安装包后,需要配置环境变量,其实在3.7的安装过程中,第一个界面有一个“add python to path”的选项可以勾选(大概是这个名字)。勾选之后会自动将python添加到系统环境变量Path中。当然你也可以选择手动添加,添加方法如下:

我的电脑右键选择属性-->高级系统设置-->环境变量-->环境变量-->系统变量:找到path变量并修改,在Path路径的最前面加入:C:\Python37;C:\Python37\Scripts; (如果你的python安装在其他路径请做相应的改动,笔者这里是默认路径)

特别要注意:很多新手会把Path中原来的内容删除掉,笔者提醒一下这个绝对不能这样做,慎重!慎重!慎重!

安装之后,运行CMD窗口,输入python指令,用于校验python是否安装成功。如下图表示成功!

什么是自动化测试?python+selenium自动化测试环境搭建步骤教程_第4张图片

另附上python开发工具PyCharm的官方下载地址:
http://www.jetbrains.com/pycharm/download/

(2)selenium的安装

selenium可以通过pip命令进行安装,安装方法如下:

1. 打开cmd窗口

2. 输入:pip install selenium

3. 等待cmd窗口提示successful,则selenium安装成功,如中途中断了继续输入pip install selenium重新安装,不影响!

(3)chrome浏览器

目前网上谷歌浏览器下载的坑太多了,很多网站做得跟官网太像了。一不小心就会入坑,这里笔者提供Chrome官网的下载地址:

Chrome官网:
https://www.google.cn/chrome/

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

(4)安装chrome浏览器驱动

为什么需要浏览器驱动呢?这还得从selenium的原理开始讲:

当Selenium提出了WebDriver的概念之后,它提供了利用浏览器原生的接口,封装成一套更加面向对象的Selenium WebDriver API,直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件)。

由于使用的是浏览器原生的接口,速度大大提高,而且调用的稳定性交给了浏览器厂商本身,显然是更加科学。然而带来的一些副作用就是,不同的浏览器厂商,对Web元素的操作和呈现多少会有一些差异,这就直接导致了Selenium WebDriver要分浏览器厂商不同,而提供不同的实现。例如Firefox就有专门的geckoDriver驱动,Chrome就有专门的Chrome驱动等。

这里特别要注意:chrome浏览器驱动必须和安装的chrome浏览器版本对应。那么如何保证对应呢?

1.先检查chrome浏览器的版本:点击chrome浏览器右上角的三个点-->帮助-->关于Google Chrome,如下图所示:

什么是自动化测试?python+selenium自动化测试环境搭建步骤教程_第5张图片

2.chrome浏览器驱动下载地址:

Chromedriver驱动下载地址:
http://npm.taobao.org/mirrors/chromedriver/

找到和上图chrome版本最接近的版本:上图为:78.0.3904.108,所以这里驱动选择:

什么是自动化测试?python+selenium自动化测试环境搭建步骤教程_第6张图片

下载完成后:把chrome驱动包放入:C:\python37 目录下 (这个是必须的)

三、接下来就可以开启selenium自动化之旅了

快去试试在Pycharm中输入如下代码,看看是否能自动打开chrome浏览器,如果能打开则说明python+selenium自动化测试环境已经大功靠成了!

from selenium import webdriver
 
driver = webdriver.Chrome()

你可能感兴趣的:(软件测试,接口自动化测试,自动化测试,单元测试,压力测试,测试工具,python,经验分享)