5分钟带你认识web自动化测试

news2024/11/12 9:06:09

1.什么是自动化测试?

自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。

2..为什么进行自动化测试?

自动化测试的好处:

1)缩短测试周期

计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。

2)避免人为出错 测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误 3)测试信息存储 自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便

4)轻易获取覆盖率 自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作。

5)其他 自动化测试可以是实现自动或者定时执行

3.自动化测试的分类

1.整体分类:

1)自动化功能测试

2)自动化性能测试

2.自动化功能测试的分类:

1)单元测试:程序员搞定

  2)接口测试

3)功能测试

3.性能测试主要是使用测试工具

  Loadrunner、Jmeter等,对软件进行压力测试、负载测试等等,因为这些无法用手工进行代替,所以必须自动化。

  为了测试一个web站点的服务能力,需要模拟上千上万的请求(比如打开浏览器访问站点),人的速度是远远达不到这样的操作的

大中型项目或长期项目可以采用自动化测试

4.web自动化条件和使用范围

1.使用自动化的前提条件

1)手动测试已经完成,后期再不影响进度的前提下逐渐实现自动化

2)项目周期长,重复性的工作都交给机器去实现

3)需求稳定,项目变动不大

4)自动化测试脚本复杂度比较低

5)可重复利用

2.使用自动化测试的场景

1)频繁的回归测试

2)冒烟测试

3)传统行业需求变化不大,应用频繁

4)性能测试

5.web自动化常用的工具

1.常见的自动化web测试工具:

1)QTP(收费)

QTP是Mercury公司的Quick Test Professional的简称,是一种自动测试工具。

2)Selenium(开源)

ThroughtWorks一个强大的基于浏览器的开源自动化测试工具,通常用来编写web应用的自动化测试

3)RFT(收费)

IBM Rational Test Professional的简称,是一款先进的自动化的功能和回归测试工具,使用与测试人员和GUI开发人员,基础是针对Java,.NET的对象计数和基于web应用程序的录制,回放功能

二、Xpath定位元素

1.xpath简介

Xpath是一种表达式语言(在XML文档中查找信息的语言),它是基于XML的树状结构,可以在整个树中来寻找指定节点,它的返回值可能是节点或者节点集合,由于HTML文档本身就是一个标准的XML页面,因此,我们可以使用Xpath的语法来定位页面元素,Xpath特使爬虫利器。

2.为什么要学xpath?

对于web自动化来说,就是模拟操作页面上的各种元素;在操作元素之前需要先找到元素,也就是定位元素;通常情况下,元素定位使用id、name、class、text等可以满足日常大部分定位需求。但是随着自动化的深入,和前端不同框架的要求,会发现上面的定位方式无法解决一些元素定位。尤其是对于这样的一些元素:

1)没有id、name、class等属性;

2)id或者是class是动态的;

3)标签的属性或者文本信息特征没有或者不明显;

4)标签嵌套复杂,层次太多等。

3.XML与HTML

4.节点的概念

每个XML/HTML的标签我们都称之为节点

5.元素定位

6.xpath的路径表达式

绝对路径:/html/body/div/div[7]/div[3]/div[1]/div[2]/form/url/li[2] 容易受页面改动影响,一般不使用

相对路径://*[@id="Header1_HeaderTitle"] 推荐使用,表达方式灵活多样

三、css选择器

1.什么是css选择器?

CSS 中,选择器是一种模式,用于选择需要添加样式的元素。计算机能够通过css选择器定位到相应元素,我们在编写自动化测试脚本的时候很多时候是在不断地找到css选择器。

2.css选择器语法

1)通过伪类名、id、标签名定位

2)通过元素之前嵌套关系

3)通过属性

4)通过父子关系

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1153758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【3ds max】给指定的面设置材质

1. 首先将物体转换为可编辑多边形 2. 选中需要赋予材质的面 按m键弹出材质编辑器 点击“将材质指定给选定对象”

4.1 Bloom算法

一、Bloom算法介绍 1.具体效果 2.实现思路 先将原图按照一定阈值提取较亮的区域模糊提取出的图像将模糊过的图像与原图混合 3.HDR与LDR LDR(Low Dynamic Range,低动态范围) JPG、PNG格式图片RGB范围在[0,1]之间 HDR(High Dynam…

SpringCloud(四) Nacos注册中心

目录 一, Nacos 1.1 Nacos的安装 1.2 服务注册到Nacos 1, 引入依赖 2, 配置Nacos地址 3, 重启 4, 进行访问 二, 服务分级存储模型 2.1 分级模型 2.2 Nacos的集群配置 1, 给user-service配置集群 2, 同集群优先的负载均衡 2.3 权重配置 国内公司一般都推崇阿里巴巴…

【嵌入式】HC32F07X CAN通讯配置和使用

目录 一 背景说明 二 原理分析 三 CAN通讯硬件设计 四 CAN通讯软件配置 五 CAN通讯测试 一 背景说明 使用小华(华大)的MCU HC32F07X实现 CAN 通讯配置和使用 二 原理分析 【1】CAN原理说明(参考文章《CAN通信详解》)&#x…

使用 puppeteer 库采集豆瓣音频简单代码示例

今天要给大家分享的采集代码,主要是使用 puppeteer 库进行编写的,用于采集豆瓣网相关音频。这段代码也是非常的简单实用,一起来看看吧。 // 引入 puppeteer 库 const puppeteer require(puppeteer);// 定义获取代理服务器的函数 function …

针灸养生服务预约小程序的效果如何

针灸服务的市场需求度很高,每个城市中都有不少相关品牌,对商家来说,如何引流拓客、打造品牌是生意开展的首要条件之一,且主要以同城用户为主,或连锁情况下为各店引流,但传统线下模式很难实现生意拓展。 那…

蓝桥杯每日一题2023.10.31

题目描述 全球变暖 - 蓝桥云课 (lanqiao.cn) 题目分析 果然有关连通块类的问题使用dfs都较为好写~~ 我们可以通过判断连通块的代码来加上部分条件算出被完全淹没的岛屿个数 在岛屿中如果有为"#"的a[i][j]上下左右全部是"#"则说明此岛屿一定不会被完全…

2023年【低压电工】找解析及低压电工模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 低压电工找解析是安全生产模拟考试一点通生成的,低压电工证模拟考试题库是根据低压电工最新版教材汇编出低压电工仿真模拟考试。2023年【低压电工】找解析及低压电工模拟考试 1、【单选题】()仪表可直接用…

VIVO应用商店评论数据抓取

VIVO应用商店的app评论数据抓取 每个应用的评论能获取到最新的 100页 数据 每页20条,也就是 2000条评论数据 接口: pl.appstore.vivo.com.cn/port/comments/ 爬取运行截图:

嵌入式应用选择正确的系统设计方法:第二部分

在设计嵌入式系统之前,我们需要知道我们在设计什么。在这种情况下,术语“要求”和“规范”以多种方式使用-有些人将它们用作同义词,而另一些人将它们用作不同的阶段。它们在这里用来表示设计过程中相关但截然不同的步骤。 需求 是对客户需求…

Leaflet地图工具

2023 年 5 月 18 日 — Leaflet 1.9.4 正式发布! Leaflet 是一个开源并且对移动端友好的交互式地图 JavaScript 库。 它大小仅仅只有 42 KB of JS, 并且拥有绝大部分开发者所需要的所有地图特性 。 Leaflet 简单、高效并且易用。 它可以高效的运行在桌面和移动平台, 拥有着大…

[Machine Learning][Part 7]神经网络的基本组成结构

这里我们将探索神经元/单元和层的内部工作原理。特别是,与之前学习的回归/线性模型和逻辑模型进行比较。最后接介绍tensorflow以及如何利用tensorflow来实现这些模型。 神经网络和大脑的神经元工作原理类似,但是比大脑的工作原理要简单的多。大脑中神经元的工作原理…

Ajax学习笔记第6天--COOKIE

放弃该放弃的是无奈,放弃不该放弃的是无能,不放弃该放弃的是无知,不放弃不该放弃的是执着! 【1. cookie】 1.Cookie机制 而Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与…

python爬虫,如何在代理的IP被封后立刻换下一个IP继续任务?

前言 在实际的爬虫应用中,爬虫程序经常会通过代理服务器来进行网络访问,以避免访问过于频繁而受到网站服务器的限制。但是,代理服务器的IP地址也可能被目标网站限制,导致无法正常访问。这时候,我们需要在代理IP被封后…

聚观早报 |华为nova 11 SE登场;vivo Y100正式发布

【聚观365】10月31日消息 华为nova 11 SE登场 vivo Y100正式发布 PTC Arena落地中国 2023财年苹果印度业务营收 iQOO 12外观设计揭晓 华为nova 11 SE登场 半年前,华为发布了nova 11系列手机,以“敢拍,敢出色”为宣传口号,继…

Variations-of-SFANet-for-Crowd-Counting代码复现

前文对Variations-of-SFANet-for-Crowd-Counting做了一点基础梳理,并对开源框架的可视化代码进行了验证,链接如下: Variations-of-SFANet-for-Crowd-Counting记录-CSDN博客 Variations-of-SFANet-for-Crowd-Counting可视化代码-CSDN博客 这…

数字时代新趋势:TikTok算法与海外网红营销的融合策略

在当今数字化时代,社交媒体已经成为品牌推广和市场营销的重要渠道。TikTok作为全球范围内最受欢迎的短视频平台之一,以其独特的算法和用户参与度,正日益成为海外网红营销的热门选择。本文Nox聚星将和大家探讨TikTok算法和海外网红营销之间的融…

五种UI设计师的必备界面设计工具,干货来袭!

工具的重要性对设计师来说是不言而喻的。任何想法都需要通过工具来实现。要成为一名优秀的UI设计师,你需要掌握更多的技能来增强你的竞争力。同时,我们也给那些想成为UI设计师的朋友一些工具建议。接下来,让我们来看看那些UI设计师需要掌握的…

AUTOSAR CAN协议栈架构总览介绍

Classic AUTOSAR层级架构简介 如下图是Classic AUTOSAR层级架构图,每个层主要功能如下 微控制器抽象层:使上层软件和微处理器型号无关,包含MCU中内部外设的驱动以及MCU内存映射的外部设备的驱动ECU抽象层:使上层软件和ECU硬件设计无关,包含ECU板上外部设备的驱动以及内部…

已解决WARNING: You are using pip version 20.1.1:however,version 22.3.1 is available.

成功解决(pip提示升级):已解决WARNING: You are using pip version 20.1.1:however,version 22.3.1 is available. You should consider upgrading via the ‘e: \python\python.exe -m pip install --upgrade pip’ c…