测试篇(五):什么是自动化测试、自动化测试分类、selenium工具、第一个自动化测试程序
创始人
2024-05-19 18:51:12
0

目录

  • 一、什么是自动化测试
  • 二、自动化测试分类
    • 2.1 单元测试
    • 2.2 UI自动化测试
  • 三、selenium工具
    • 3.1 selenium的介绍
    • 3.2 环境部署
    • 3.3 selenium的常用方法
  • 四、第一个自动化测试用例

一、什么是自动化测试

在日常生活中我们会见到,自动化的水龙头、无人驾驶汽车、自动化的洗手液、自动化扫地机器人等…


自动化测试是指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果。将认为驱动的测试行为转化为机器执行的过程;通过自动化测试有效的减少了人力的投入,同时提高了测试的质量和效率。

二、自动化测试分类

自动化测试包括UI自动化(界面测试)、接口自动化、单元测试自动化,按照下面这个金字塔模型来进行自动化测试规划,可以产生最佳的自贡话测试产出投入比(ROI),可以用较少的投入获得很好的收益。
在这里插入图片描述

2.1 单元测试

最大的投入应该在单元测试上,单元测试运行的频率也更加高。
java的单元测试框架是Junit

2.2 UI自动化测试

UI自动化测试又分为移动端自动化测试和web端自动化测试,后面介绍的selenium工具也是主要用于web端自动化测试的.


在测试金字塔中告诉我们尽量多做API层的自动化测试,但是UI层的自动化测试更加贴近用户的需求和软件的实际业务;

【UI自动化的特点】

  • 用例维护量大
  • 页面相关性强,必须后期项目页面开发完后介入
  • UI测试适用于界面变动较小的项目

【UI自动化的好处】

  • 用于回归测试,减少人力的投入
  • 减少重复测试的时间,实现快速回归测试
  • 创建优良可靠的测试过程,减少认为错误
  • 可进行更多繁琐的测试
  • 更好的利用资源
  • 测试脚本的重要性

【UI自动化测试框架】

UI层的测试框架比较多,比如Windows客户端测试的AutoIT,web测试的selenium以及TestPlanteggPlant,Robot framework,QTP等。
下面主要以Web UI自动化测试框架Selenium为例进行详细介绍。selenium有以下优点:

  • 免费,也不用再为破解软件而大伤脑筋
  • 小巧,对于不同的语言它只是一个包而已,而QTP 需要下载安装1个多G 的程序。
  • 支持多语言,熟悉C、java、ruby、python、或都是C#,你都 可以通过selenium 完成自动化测试,而QTP 只支持VBS
  • 支持多平台:windows、linux、MAC ,
  • 支持多浏览器:ie、ff、safari、opera、chrome
  • 提供了很多可供测试使用的API
  • 支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器执行,相当于分发机的功能

【UI自动化测试的适用对象】

实施自动化测试的前提条件:需求变动不频繁、项目周期足够长、自动化测试脚本可重复使用。
适合做自动化的项目:

  1. 产品型项目。产品型的项目,新版本是在旧版本的基础上进行改进,功能变不大的项目,但项目的新老功能都必须重复的进行回归测试。回归测试是自动化测试的强项,它能够很好的验证你是否引入了新的缺陷,老的缺陷是否修改过来了。在某种程度上可以把自动化测试工具叫做回归测试工具。
  2. 机械并频繁的测试。每次需要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长。比如兼容性测试。

以下情况的项目不适合做自动化测试:

1、需求变动频繁的项目,自动化脚本不能重复使用,维护成本太大,性价比低
2、项目周期短,自动化脚本编制完成后使用次数不多,性价比低
3、交互型较强的项目,需要人工干预的项目,自动化无法实施

【自动化测试需要了解哪些技能?】

了解被测系统的基本业务、了解业务的基本框架、懂得功能测试、懂得一门编程语言、了解数据库与操作系统、了解常见的测试框架…

三、selenium工具

3.1 selenium的介绍

Selenium是web应用中基于UI的自动化测试框架,支持多平台、多浏览器、多语言。
早期的selenium RC已经被现在的webDriver所替代,可以简单的理解为selenium1.0+webdriver构成现在的Selenium2.0。现在我们说起selenium,一般指的是Selenium2.0。它有由Selenium IDE,Webdriver,Selenium Grid组成。

3.2 环境部署

想要使用selenium实施web自动化测试,需要的环境是什么呢?

  • 首先需要一个浏览器,我这里选择的使Chrome浏览器
  • ChromeDriver:谷歌浏览器的驱动
  • selenium工具包

【什么是浏览器的驱动?】

对于一台机计算机来说,可以驱动计算机和设备工作起来
对于自动化来说,使用selenium编写的脚本代码,不能直接的打开浏览器,这是就需要借助驱动程序打开浏览器

在这里插入图片描述
驱动程序相当于是一个服务器

3.3 selenium的常用方法

  • 查找页面元素 findElement
    在这里插入图片描述
    在这里插入图片描述
  • 查找标签/属性相同的元素列表 findElements()方法

在这里插入图片描述
在这里插入图片描述

  • 定位元素的方法 ,通过By类中提供的方法
    在这里插入图片描述
    在这里插入图片描述

  • xpath方法
    语法:在这里插入图片描述
    在这里插入图片描述
    对于xpath方法的使用,通过在页面中Copy XPath作为方法的参数即可

四、第一个自动化测试用例

第一步:创建一个Maven项目,并引入selenium依赖
在这里插入图片描述
第二步:在test目录下创建包和java文件
在这里插入图片描述
第三步:在Test1中编写代码,达到"在百度搜索框中搜索迪丽热巴"的目的

package com.autotest;import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;public class Test1 {//百度网址搜索关键词"迪丽热巴"public  void dilirebaTest() throws InterruptedException {ChromeDriver chromeDriver=new ChromeDriver(); //创建一个驱动实例Thread.sleep(3000);chromeDriver.get("https://www.baidu.com"); //输入百度网址,访问百度首页Thread.sleep(3000);//找到搜索输入框元素,并输入关键字"迪丽热巴"chromeDriver.findElement(By.cssSelector("#kw")).sendKeys("迪丽热巴");Thread.sleep(3000);//找到"百度一下"按钮并点击chromeDriver.findElement(By.cssSelector("#su")).click();Thread.sleep(3000);chromeDriver.quit(); //关闭浏览器}
}

第四步:启动程序

package com.autotest;public class RunAutoTest {public static void main(String[] args) throws InterruptedException {Test1 test1=new Test1();test1.dilirebaTest();}
}

【简单的自动化示例主要分以下几步】

  1. 创建驱动实例,创建会话
  2. 访问网站
  3. 查找元素
  4. 操作元素
  5. 结束会话

相关内容

热门资讯

安卓系统苹果手机识别,跨界融合... 你知道吗?在科技飞速发展的今天,手机已经成为了我们生活中不可或缺的一部分。而说到手机,安卓系统和苹果...
harmonyos系统是不是安... 亲爱的读者,你是否曾好奇过HarmonyOS系统与安卓系统之间的关系?是不是安卓的“亲戚”?今天,就...
手机怎么装系统安卓,安卓系统安... 手机卡顿了?想给安卓系统来个大变身?别急,跟着我一步步来,保证让你的手机焕然一新!一、准备工作在开始...
安卓Linux系统内网穿透,A... 你有没有想过,你的安卓手机里那些看似普通的APP,其实可能正在悄悄地帮你打通网络世界的任督二脉呢?没...
win怎么安装安卓系统,Win... 亲爱的读者,你是不是对Win系统上的安卓应用垂涎已久,但又苦于不知道如何安装安卓系统呢?别急,今天我...
升级小米平板安卓系统,畅享全新... 你有没有发现,你的小米平板用久了,是不是感觉有点卡呢?别急,今天就来教你怎么给它来个系统升级,让它焕...
捷豹安卓系统车载,捷豹安卓系统... 哇,你有没有想过,当你的手机和汽车融为一体,会是怎样的体验呢?想象你正驾驶着你的捷豹,车窗外的风景如...
安卓1到10系统,安卓1.0至... 你有没有想过,手机里的安卓系统就像是我们生活中的好朋友,从青涩的少年成长为稳重的青年呢?从安卓1.0...
安卓8.0停用系统应用,提升使... 你知道吗?最近安卓系统又来了一次大动作,那就是安卓8.0系统开始停用一些系统应用了。这可真是让人有点...
安卓系统修改mtu值,轻松提升... 你有没有想过,你的安卓手机其实是个小小的电脑呢?它里面藏着许多可以自定义的秘密功能,就像修改MTU值...
安卓平板改window系统,探... 你有没有想过,你的安卓平板其实可以摇身一变,变成一个Windows系统的电脑呢?没错,就是那种可以运...
时空猎人安卓苹果系统,探索无尽... 你知道吗?最近在手机游戏圈里,有一款叫做《时空猎人》的游戏可是火得一塌糊涂呢!不管是安卓用户还是苹果...
安卓9.0系统的电视,新一代电... 亲爱的读者们,你是否也像我一样,对科技新玩意儿充满好奇?今天,我要和你聊聊一个让人眼前一亮的话题——...
小pc安装安卓系统,轻松安装安... 你有没有想过,你的小PC也能变身成为安卓系统的超级玩家呢?没错,就是那个平时默默无闻的小家伙,现在也...
高通备份安卓系统,全方位数据安... 你知道吗?在这个科技飞速发展的时代,手机备份可是个不得不提的话题。尤其是对于安卓用户来说,选择一个靠...
谷歌安卓系统有多少,从诞生到全... 你有没有想过,那个无处不在的谷歌安卓系统,究竟在全球有多少用户呢?它就像一个神秘的数字,每天都在悄悄...
fc黄金传说安卓系统,畅享复古... 你有没有听说最近安卓系统上的一款超酷的游戏——《FC黄金传说》?这款游戏可是让不少玩家都沉迷其中,今...
变小的我安卓系统,安卓系统演变... 你有没有发现,最近你的手机好像变轻了?没错,说的就是你,那个陪伴你多年的安卓系统。它悄无声息地进行了...
vivo安卓系统小彩蛋,体验科... 你知道吗?在vivo的安卓系统中,竟然隐藏着一些超有趣的小彩蛋!这些小彩蛋就像是在手机里埋下的宝藏,...
安卓系统如何强制重启,安卓系统... 手机突然卡壳了,是不是又该给它来个“大保健”了?没错,今天就来聊聊安卓系统如何强制重启。别小看这个看...