• 12
  • 12
分享

自动化入门介绍

       实验介绍

       本次实验主要介绍什么是自动化测试和自动化测试工具 selenium。然后介绍怎么安装浏览器驱动工具 webdriver,并且开发一个简单的自动化测试脚本,体会自动化测试是怎么实现的。

       知识点

  • 自动化测试介绍

  • selenium 介绍

  • webdriver 安装

  • 第一个脚本开发

       自动化测试概念

       自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。其实质是写脚本或使用工具测试程序。

       自动化测试分类

       自动化测试是使用各种工具或程序代替人工测试的一种行为。只要是解除人工操作的测试都可以称为自动化测试,细分又有好多种类,下面简单列举一些。

  • Web UI 自动化测试。

  • API 自动化测试。

  • 性能自动化测试。

  • 单元测试。

  • Windows 窗体 UI 自动化测试。

       本系列实验以 Python Web UI 自动化测试为主,为了方便起见以后直接简称自动化测试。

       怎么学习自动化测试

       写好自动化测试的前提是有夯实的手工测试基础,学习自动化测试的基本路线大致如下:

  1. 做好手工功能测试(包括测试理论知识,涉及的工具使用等)。

  2. 学习前端基本知识(HTML、CSS、JavaScript)。

  3. 掌握一门编程语言(例如 Python、Java)。

  4. 精通自动化测试工具(目前最流行的为 Selenium)。

  5. 精通自动化测试框架(UnitTest、Pytest)。

  6. 熟悉自动化测试模型(线性模型、模块化驱动、数据驱动、关键字驱动、行为驱动)。

  7. 熟悉集成工具(例如 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)】,查看浏览器的版本。

1.png

  • 下载 chromedriver。

       进入 chromedriver 下载地址下载 https://chromedriver.storage.googleapis.com/index.html 或使用淘宝镜像地址下载 https://npm.taobao.org/mirrors/chromedriver/ ,进入后选择对应的版本号。

2.png

       然后根据自己的系统选择对应的 zip 文件进行下载。如实验的系统是 Linux 则下载 chromedriver_linux64.zip,并将其保存在 /home/shiyanlou/Code/ 下。

3.png

       下载后通过 cd 命令进入到 /home/shiyanlou/Code/ 目录中,使用命令 unzip chromedriver_linux64.zip 进行解压。

4.png

  • 将 chromedriver 移至 python 所在目录下。

       将 chromedriver 移动至 Python 编辑器所在的目录 /usr/bin/ 下,使 chromedriver 与 python 处于同一目录下,这样做的目的是便于 Python 在执行时可以找到 chromedriver。 使用命令 sudo cp -r /home/shiyanlou/Code/chromedriver /usr/bin/。

5.png

       不同的浏览器需要是使用不同的驱动,下面列出 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

6.png

       继续输入下面命令,进入到 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()

7.png

       然后打开 Xfce 终端,输入下面命令运行 myfirst_project.py 脚本。

python3 /home/shiyanlou/Code/myfirst_project.py

       命令执行后脚本会驱动 webdriver 打开 Chrome 浏览器,然后访问实验楼首页,最后关闭浏览器。

实验总结

实验知识点回顾:

  • 自动化测试介绍

  • selenium 介绍

  • webdriver 安装

  • 第一个脚本开发

       本次实验主要是一些概念性内容,在做完本实验后对自动化测试有一个基本的认识,了解到本系列实验展开的方向。并且实际动手进行了一次自动化测试脚本开发,体会到自动化测试运行的过程。


 

作者: Tynam.Yang

本文链接:https://www.cnblogs.com/tynam/p/13161900.html



  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言selenium自动化+ pytest测试框架本章你需要一定的python基础一定的selenium基础——不讲selenium,不会的自己去看selenium中文翻译网测试框架简介测试框架有什么优点呢:代码复用率高,如果不使用框架的话,代码会很冗余可以组装日志、报告、邮件等一些高级功能提高元素等数据的可维护性,元素发生变化时,只需要更新一下配置文件使用更灵活的PageObject设计模式测试框架的整体目录目录/文件说明是否为python包common这个包中存放的是常见的通用的类 是config配置文件目录是logs日志目录page对selenium的方放进行深度的封装是pag...
            5 9 5835
            分享
          • 最近正好有个项目,需要做一下支付相关接口测试,测试完成后脑海中浮现的一句话“实践是检验真理的唯一标准”,我们来看看有哪些问题大家借鉴可以避免的。一、接口测试前需要准备哪些接口测试工具:Postman测试网站地址:确保测试前网站服务起来,否则不可能验证成功接口文档:个人认为这是最重要的要素 ,一篇高质量文档能为你调试过程节约很多时间数据库:最好连接到后台数据库,有的时候需要校验页面显示是否正确,或者判断返回的内容是否正确,都可以查看数据库找到根源综上,这些工具互相之间是来回切换配合使用的,具体看大家需要完成什么操作,自己取材。二、测试过程中遇到的问题1. 类型一报错:101错误“System e...
            0 0 1147
            分享
          •   一、自动化测试简介  1、什么是自动化测试  软件测试是软件产品开发过程中不可或缺的环节,众所周知,软件测试的分类方法非常多,根据不同的分类,测试可以分为很多种不同的测试方式。如果根据不同的测试点分类,可以将测试分类划分为功能测试、性能测试,这也是我们最常见的的软件测试范畴。而我们的自动化测试,一般意义上来说,是指对功能、性能进行脱离手工的自动化的测试。  对于自动化测试,更广泛的意义,是对界面功能的自动化测试。因此,按照对软件测试的自动化程度,可以分为手工测试、自动化测试。再进一步细分,界面自动化测试,又可根据平台的不同,分为Web自动化测试、移动端自动化测试,而他们的测试工具及框架基本...
            0 0 3735
            分享
          • 读者提问:APP 交叉事件测试点有哪些 ?阿常回答:APP 交叉事件测试也叫干扰测试,即软件运行时遇到了其他外部事件的干扰。APP 交叉事件测试点:1、软件运行时有来电、短信、闹铃响。2、软件运行时使用手机自带的相机、蓝牙功能。3、软件运行时手机断电、关机、重启。4、软件运行时切换网络环境(WiFi,5G,4G,弱网,断网)5、软件运行时接收文件弹窗提醒。6、软件运行时查看应用推送。7、软件切换到后台运行,再切换前台运行。8、软件运行时插拔充电器。9、软件运行时手机锁屏、解屏。10、软件运行时杀掉进程,再次启动。
            0 0 1884
            分享
          • 问:网页端测试点有哪些?1.界面测试:链接能否跳转,跳转后的页面是否正确;有没有错误的信息;页面布局是否合理,风格是否统一,重点内容是否突出;图片表单位置是否正确。2.功能测试:保存:表单的输入有无格式、类型、 长度限制,内容错误有无提示;编辑和保存权限是否一致;数据能否保存成功,保存成功或失败有没有提示;字段能不能重复,不能重复有没有提示;保存成功后返回的页面是否正确;连续多次点击保存会不会新增多条重复的数据;特殊键Tab、Enter键是否能使用;数据关联性,有内容修改了,其它相关联的数据也要同步;上传:上传的文件的大小、类型手动输入上传的地址上传已删除的文件上传成功或失败的提示下载:导出的...
            0 0 1326
            分享
      • 51testing软件测试圈微信