当前位置: 首页 > news >正文

认识web自动化测试!

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)通过父子关系

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

在这里插入图片描述

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

相关文章:

认识web自动化测试!

1.什么是自动化测试? 自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作&a…...

多商户进驻小程序商城的作用是什么

多商户进驻商城简单来说就是在一个商城里,由经营者邀请同行、异业商家进驻到商城里(子商户),可丰富商城经营业态,满足客户多方购物需求,打造购物商圈及经营者获得更多收益等。 通过【雨科】平台的多商户进驻…...

接口响应慢该如何排查

不知道大家有没有遇到这种情况,接口业务逻辑写完后,用 postman 一调,发现接口响应时间好长,不得不对接口进行优化。但是此时接口的代码往往逻辑比较复杂,调用层次也比较多,很难定位到耗时较长的代码块。 遇…...

spring boot MongoDB实战

文章目录 项目搭建文章评论实体类的编写文章评论的基本增删改查根据上级ID查询文章评论的分页列表MongoTemplate实现评论点赞 GITHUB 项目搭建 <?xml version"1.0" encoding"UTF-8"?><project xmlns"http://maven.apache.org/POM/4.0.0&q…...

企业数字化转型时,会遇到的5大挑战

企业数字化转型时&#xff0c;会遇到的5大挑战添加链接描述 数字化转型已然是当今商业战略的一大基石&#xff0c;根据Gartner的《2023年度董事会调查》显示&#xff0c;有89%的企业将数字业务视为其增长的核心。但该研究的另一项统计数据也显示&#xff1a;在这些企业中&…...

动态语句 sqlserver

EXEC sp_executesql DynamicSQL, NFirstName NVARCHAR(50), LastName NVARCHAR(50), FirstName, LastName在EXEC sp_executesql语句中&#xff0c;后面的参数需要按特定顺序传递。这些参数的顺序如下&#xff1a; 1.第一个参数是动态SQL语句本身&#xff0c;通常是一个NVARCHA…...

【一文清晰】单元测试到底是什么?应该怎么做?

我是java程序员出身&#xff0c;后来因为工作原因转到到了测试开发岗位。测试开发工作很多年后&#xff0c;现在是一名自由职业者 1、什么是单元测试 2、该怎么做单元测试 一、什么是单元测试&#xff1f; 单元测试&#xff08;unit testing&#xff09;&#xff0c;是指对软件…...

二、基于PCL的RANSAC拟合点云中所有直线或平面——3D点云处理系列

RANSAC原理&#xff1a;略。 其他博客大多都是介绍拟合单条直线或平面的代码案例&#xff0c;本文介绍如何拟合多条直线或平面&#xff0c;其实是在单个拟合的基础上接着拟合&#xff0c;以此类推。 注意&#xff1a;步骤中的直线模型是每次随机在点云中取点计算的。 步骤&…...

Linux实用指令-指定运行级别、帮助指令

一、 指定运行级别 1.运行级别说明&#xff1a; 0:关机 1:单用户[找回丢失密码] 2:多用户状态没有网络服务 3:多用户状态有网络服务 4:系统未使用保留给用户 5:图形界面 6:系统重启 常用运行级别是3和5&#xff0c;要修改默认的运行级别。可改文件/etc/inittab 的id:5:initd…...

【LeetCode】2562. 找出数组的串联值

难度&#xff1a;简单 题目 给你一个下标从 0 开始的整数数组 nums 。 现定义两个数字的 串联 是由这两个数值串联起来形成的新数字。 例如&#xff0c;15 和 49 的串联是 1549 。 nums 的 串联值 最初等于 0 。执行下述操作直到 nums 变为空&#xff1a; 如果 nums 中存…...

Hive知识梳理(好文)

Hive是建立在 Hadoop 上的数据仓库基础构架。可以将SQL查询转换为MapReduce的job在Hadoop集群上执行。 元数据 Hive元数据信息存储在Hive MetaStore中&#xff0c;或者mysql中。 分隔符 Hive默认的分格符有三种&#xff0c;分别是&#xff08;Ctrl/A&#xff09;、&#xff0…...

GitHub仓库的README文件无法显示图片问题-非域名污染原因

之前上自己仓库就偶然发现图片不显示现象&#xff0c;当时以为是网络问题就没有留意这事。但是一直不显示就有问题了&#xff01;于是网上搜了一遭&#xff0c;看见大家遇到此现象的原因普遍归于DNS污染1而我的问题原来是MarkDown格式&#xff01; 在图片语法前不要加分区语法…...

opencv入门到精通——图片,视频,摄像头的读取与保存

简介 OpenCV是一个流行的开源计算机视觉库&#xff0c;由英特尔公司发起发展。它提供了超过2500个优化算法和许多工具包&#xff0c;可用于灰度、彩色、深度、基于特征和运动跟踪等的图像处理和计算机视觉应用。OpenCV主要使用C语言编写&#xff0c;同时也支持Python、Java、C等…...

Android 13.0 开机动画支持mp4格式视频作为开机动画播放

1.概述 在13.0的系统产品开发中,在系统开机动画这块一般情况下都是播放开机图片,然后绘制多张开机图片形成开机动画模式,而产品需求要求支持开机mp4格式的短视频来作为开机动画播放视频来介绍产品情况,就需要用开机视频来替代开机动画来实现功能 2.开机动画支持mp4格式视频…...

前端自学需要把大量时间放在 HTML、CSS 吗?

前言 html和css其实不需要花费太多的时间&#xff0c;html暂且不说&#xff0c;css各类的属性太多了&#xff0c;平时如果只是简单做一些小网站根本不需要全部掌握&#xff0c;只需要掌握一些基础常用的即可&#xff0c;一般遇到不会的也可以直接查文档&#xff0c;就我个人来…...

Python爬虫如何设置代理服务器(搭建代理服务器教程)

在Python爬虫中使用代理服务器可以提高爬取数据的效率和稳定性。本文将为您提供搭建代理服务器的详细教程&#xff0c;并提供示例代码&#xff0c;帮助您在Python爬虫中设置代理服务器&#xff0c;实现更高效、稳定的数据抓取。 Python爬虫怎么设置代理服务器&#xff08;搭建代…...

基于SpringBoot的校园志愿者管理系统

基于SpringBoot的校园志愿者管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 活动信息 登录界面 志愿者界面 管理员界面 摘要 校园志愿者管理系统…...

24-数据结构-内部排序-基数排序

基数排序 基数排序&#xff0c;给关键字分成d位&#xff08;组&#xff09;&#xff0c;&#xff0c;对每一位的情况&#xff0c;可能会出现的值位r&#xff08;基数&#xff09;个&#xff0c;然后分成r个队列&#xff0c;对每个对林进行分配耗时O(n)&#xff0c;最后按照改位…...

oracle11g安装图解

软件需求 1.安装CentOS6.5的服务器一台 2.Oracle 11g 安装介质: linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 3.命令行客户端工具xshell、crt或者putty 4.图形界面客户端工具Xming 系统配置检查 1.内存检查 grep MemTotal /proc/m…...

CBitmap、CreateCompatibleBitmap、CreateBitmap

一、CBitmap类主要是加载位图资源&#xff0c;或者建立一个空白位图用于存储画面。 BOOL LoadBitmap(UINT nIDResource)从工程资源中加载一张位图BOOL LoadOEMBitmap(UINT nIDBitmap)从系统资源中加载一张位图BOOL CreateBitmap(int nWidth, int nHeigjt, UINT nPlane, UINT n…...

亲测好用教师小程序

作为一名老师&#xff0c;经常需要面对的一大挑战就是如何有效地向学生和家长传达重要的学业信息。而其中&#xff0c;成绩的发布与查询更是重中之重。传统的做法是手动录入数据&#xff0c;或者通过电子邮件发送Excel表格&#xff0c;这样做既繁琐又耗时。幸运的是&#xff0c…...

第十五章:输入输出流I/O

15.1&#xff1a;输入/输出流 文件类&#xff1a;File 字节流&#xff1a;InputStream&#xff1a;入 OutputStream&#xff1a;出 字符流&#xff1a;Reader&#xff1a;入 Writer&#xff1a;出 15.1.1 输入流 InputStream类是字节输入流的抽象类&#xff0c;所有字节流…...

docker命令实例(举例子学习)

docker命令实例 实例1 docker build -t linksoul/chinese-llama2-chat .实例2 docker run --gpus all --ipchost --ulimit memlock-1 --ulimit stack67108864 --rm -it -v pwd/LinkSoul:/app/LinkSoul -p 7860:7860 linksoul/chinese-llama2-chat实例3 docker run -it -p 78…...

excel常用函数

vlookup函数 ISNA函数 ISNA(value) ISNA 函数用于检查指定的值是否为 #N/A 错误值&#xff0c;并返回 TRUE 或 FALSE。 IF 函数 IF(条件, 如果条件为TRUE的值, 如果条件为FALSE的值)...

使用Portainer图形化工具轻松管理远程Docker环境并实现远程访问

文章目录 前言1. 部署Portainer2. 本地访问Portainer3. Linux 安装cpolar4. 配置Portainer 公网访问地址5. 公网远程访问Portainer6. 固定Portainer公网地址 前言 Portainer 是一个轻量级的容器管理工具&#xff0c;可以通过 Web 界面对 Docker 容器进行管理和监控。它提供了可…...

Git快速安装【附安装包资源】

软件安装包 项目版本管理软件 Git windows版本安装包 安装步骤 双击按照包之后&#xff0c;直接next 安装位置尽量不要选择C盘&#xff0c;如果只有C盘&#xff0c;可以尝试分盘&#xff0c;如果C盘已经很小了&#xff0c;那就没办法了 选择完安装位置之后&#xff0c;直…...

算法进修Day-33

算法进修Day-33 65. 有效数字 难度&#xff1a;困难 题目要求 有效数字&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a; 一个 小数 或者 整数&#xff08;可选&#xff09;一个 e 或 E &#xff0c;后面跟着一个 整数 小数&#xff08;按顺序&#xff09;…...

开发工具分享 - Mybatis SQL日志格式化H5

目录 一、 序言二、代码示例三、部署至Nginx 一、 序言 平时通过IDEA开发&#xff0c;可以直接装相关MybatisLogFormat的插件直接对控制台里的Mybatis SQL日志进行格式化。一旦离开本地环境&#xff0c;到了测试或者线上&#xff0c;就得自己手动拼参数了。 简单的SQL还好&am…...

好用的办公软件有哪些

日常的工作难免和各种各样的软件打交道&#xff0c;除了传统的Office三件套&#xff0c;小编日常还在用着其他的办公软件&#xff0c;借此跟各位分享其中比较好用、堪称办公神器的8款软件&#xff01; 1.WPS office 2.office2007 3.EasyConnect 4.ToDesk 5.Photoshop 6.A…...

C#中Abstract、Virtual和Override的使用方法

在C#中&#xff0c;abstract、virtual和override是用于处理类和方法的三个重要关键字&#xff0c;它们的用途和用法如下&#xff1a; Abstract&#xff08;抽象&#xff09; 抽象方法是一种只有声明而没有实现的方法。抽象方法只定义了方法的名称、返回类型和参数列表&#x…...