Web自动化测试简介及web自动化测试实战交教程
一、认识web自动化测试
1.什么是自动化测试?
自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。
在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!_哔哩哔哩_bilibili在华为工作了10年的大佬出的Web自动化测试教程,华为现用技术教程!共计16条视频,包括:1. 【web自动化】主流Web自动化测试技术对比、2. 【web自动化】Selenium自动化测试环境一键搭建、3. 【web自动化】Selenium八大定位策略详解等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1sM4y1d7tq/?spm_id_from=333.337.search-card.all.click
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自动化测试简介及web自动化测试实战交教程
一、认识web自动化测试 1.什么是自动化测试? 自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或…...

基于单片机的家庭应急电源设计
基于单片机的家庭应急电源 摘 要 本设计基于STC89C52单片机设计得应急电源,以应急电源为研究对象,单片机设计为控制集成IC,ADC为模数转换控制模块,无源蜂鸣器作为报警电路。系统分为单片机设计最小系统,AD转换控制模…...

线程七大状态
线程生命周期(七大状态) 新建状态(New):当Java线程被创建时,它处于新建状态。此时,线程对象已被创建,但尚未启动。在这个状态下,线程并没有开始执行任何代码,…...

Linux第一章
文章目录 前言一、操作系统概述二、Linux初识1.Linux系统的诞生2.Linux系统内核3.Linux发行版 三、虚拟机介绍四、安装vmware workStation1.VMware WorStation软件2.安装 五、vm安装linux六、远程连接Linux系统1.图形化、命令行2.为什么使用命令行操作linux3.使用FinalShell软件…...

Microsoft Defender for Identity部署方案
目录 前言 一、重要组件 二、部署步骤 1、准备 Azure 订阅 2、配置 Microsoft Defender for Identity 门户...

超越YOLOv8,飞桨推出精度最高的实时检测器RT-DETR!
众所周知,实时目标检测( Real-Time Object Detection )一直由 YOLO 系列模型主导。 飞桨在去年 3 月份推出了高精度通用目标检测模型 PP-YOLOE ,同年在 PP-YOLOE 的基础上提出了 PP-YOLOE 。后者在训练收敛速度、下游任务泛化能力以及高性能部署能力…...

基于Docker安装Redis【保姆级教程、内含图解】
Redis官网:Redis Redis中文官网:CRUG网站 两者选其一即可,建议使用 Redis官网:Redis 学习任何框架和技术,一定要参考相应的官网学习,一定要参考官网学习!!! 目录 一、拉取…...

电子表格软件与一站式BI的区别
看完本节内容,相信您能够了解到电子表格软件(代号电子表格软件)与「一站式 BI」的主要区别。所谓一站式BI在官网上的名称就是Smartbi V10.5,代号就是Smartbi一直在使用insight。 这两个产品都属于商业智能BI软件的品类࿰…...

SpringCache
一、介绍 Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能,大大简化我们在业务中操作缓存的代码。 Spring Cache只是提供了一层抽象,底层可以切换不同的cache实现。具体就…...

Android Framework—Service
介绍 Service是一种可以在后台执行长时间运行操作而不提供界面的应用组件。服务可以由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。此外,组件可以通过绑定到服务与之进行交互,甚至是执行进程之间的通信…...

leetcode (重排数组使得)连续子数组的权值和最小
题目描述:请重新排列某个仅包含2和3的数组,使得数组的所有连续子数组权值之和最小数组的权值定义为,数组中所有元素之积的因子个数,例如:rank([2,3])4 x p 1 c 1 p 2 c 2 p 3 c 3 ⋅ ⋅ ⋅ p k c k r a n k ( c 1 1 ) ( c …...

JSP计算机等级考试查询系统(源代码+论文+答辩PPT)
第一章 引言 计算机等级考试查询系统是有其开发的必要性的,它的应用将大大节省了学校的人力资源,从而从人工劳动中解脱出来。我们这次开发的软件系统一共包括了三个部分:等级考试的报名系统、查询系统和管理系统。其中管理系统是另外两部分…...

python 基础系列篇:七、以函数方式编写一个数字华容道
python 基础系列篇:七、以函数方式编写一个数字华容道 数字华容道游戏分析开始编写完整代码代码解说定义方法的规律 小结 数字华容道 嗯,就是一个简单的益智游戏,把数字按照特定规律排列,并比矩阵少一个格,用来进行移…...

2023年前端面试题
1.position都有哪些属性 2.1px等于多少rem,rem根据根元素的大小,根元素是谁 3.Es6操作数组的方法 4.防抖和节流以及应用场景 5.Vue和ajax最大的区别是什么(Vue和ajax怎么操作dom的,vue虚拟dom) 6.js数据类型有哪些&…...

快速入门量化交易
本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注"慕课网"! 原作者:袁霄|慕课网讲师 近来“量化交易”这个词听得越来越频繁,多数人对量化交易的第一印象是“高大上的技术”…...

Mongodb oplog
在MongoDB复制集中,oplog信息存储在oplog.rs集合中。 oplog.rs集合是一个固定大小的集合(capped collection),它位于local数据库中。 当我们在源MongoDB实例上启用了复制(replication)功能,MongoDB会自动在local数据库中创建oplog.rs集合。此后,所有在该实例上的写操作都会生…...

python基础篇: python字符串方法都有哪些?你知道多少?
❝ Python提供了丰富的字符串处理方法,可以方便地对字符串进行操作、处理和转换。在本文中,我们将介绍Python中常用的字符串方法。 ❞ python中字符串内置方法很多,可以通过dir()方式查看具体有哪些方法,下表是python字符串的全部…...

chmod 命令 (chmod 0660)
chmod的作用: 用于设置文件所有者和文件关联组的命令,就是控制用户的权限命令 注意事项: chown 需要超级用户 root 的权限才能执行此命令。 自己常用chmod 命令是 chmod 777 * 给所有文件权限 chmod 777 文件名 给单独文件权限 这个777 是怎么来的, 或者chmod 0660 这…...

Qt应用开发常用功能
Qt判断当前操作系统? #ifdef Q_OS_MAC //mac ... #endif#ifdef Q_OS_LINUX //linux ... #endif#ifdef Q_OS_WIN32 //win ... #endif#ifdef __arm__ //arm ... #endifQt实现应用程序关闭和重启? //关机按钮-点击槽函数 void SystemD::on_shutdownButton…...

麻了,部门新来的00后给我卷崩溃了...
今天上班开早会就是新人见面仪式,听说来了个很厉害的大佬,年纪还不大,是上家公司离职过来的,薪资已经达到中高等水平,很多人都好奇不已,能拿到这个薪资应该人不简单,果然,自我介绍的…...

代码随想录算法训练营第56天|583. 两个字符串的删除操作,72. 编辑距离
代码随想录算法训练营第56天|583. 两个字符串的删除操作,72. 编辑距离 583. 两个字符串的删除操作72. 编辑距离 583. 两个字符串的删除操作 题目链接:583. 两个字符串的删除操作,难度:中等 【实现代码】 class Solution { publi…...

【嵌入式笔/面试】嵌入式软件基础题和真题总结——操作系统
在学习的时候找到几个十分好的工程和个人博客,先码一下,内容都摘自其中,有些重难点做了补充! 才鲸 / 嵌入式软件笔试题汇总 嵌入式与Linux那些事 阿秀的学习笔记 小林coding 百问网linux 嵌入式软件面试合集 2022年春招实习十四面…...

2023浙江省赛“信息安全管理与评估“--Web渗透测试(高职组)
2022全国职业技能大赛“信息安全管理与评估”(高职组)任务书 2022全国职业技能大赛“信息安全管理与评估”任务书第一阶段竞赛项目试题第二阶段竞赛项目试题第三阶段竞赛项目试题任务2:Web渗透测试2022全国职业技能大赛“信息安全管理与评估”任务书 第一阶段竞赛项目试题 …...

垃圾收集器面试总结(二)
G1 收集器 G1 (Garbage-First) 是一款面向服务器的垃圾收集器,主要针对配备多颗处理器及大容量内存的机器。 以极高概率满足 GC 停顿时间要求的同时,还具备高吞吐量性能特征。 被视为 JDK1.7 中 HotSpot 虚拟机的一个重要进化特征。它具备以下特点: 并行与并发&am…...

语音交友app开发中的用户积分系统
引言 在当今数字时代,语音交友app已成为一种流行的社交工具。它们给用户提供了一个平台,在这里他们可以结交新朋友,分享他们的生活和信仰,并建立深厚的人际关系。然而,市场上存在大量的语音交友app,这使得…...

Nature:惊人的突破!科学家们成功破译人类嗅觉感应机制的奥秘!
加州大学旧金山分校(UCSF)的科学家们创造了第一张关于气味分子如何激活人类气味受体的分子水平的3D图片,这是破译嗅觉的关键一步,该成果打破了长期以来研究人员对嗅觉理解的僵局。 该研究成果于2023年3月15日发表在《Nature》&…...
WPF教程(九)--数据绑定(2)--绑定模式
一、绑定模式 绑定模式以及模式的使用效果。 示例如下是根据ListBox中的选中项,去改变TextBlock的背景色。将 TextBlock 的背景色绑定到在 ListBox 中选择的颜色。在下面的代码中针对TextBlock的 Background 属性使用绑定语法绑定从 ListBox 中选择的值。代码如下。…...

湿法冶金以及铼提取工艺,湿法冶金工艺特点及工艺流程
湿法冶金是利用浸出剂在一定温度压力下与矿石接触,把矿石中有用的金属溶解后再从溶液中回收有价金属的一种工艺,因为其过程大都是在水溶液中进行,所以又被称为“水法冶金”。 01 湿法冶金工艺特点及工艺流程 湿法冶金作为解决我国金属矿产资…...

kafka集群搭建
1.本次搭建涉及3台centos7主机,防火墙与selinux服务均关闭 2.主机参数如下表所示 nameIPportserviceA10.1.60.1122128、2888、3888、9092kafka、zookeeperB10.1.60.1142128、2888、3888、9092kafka、zookeeperC10.1.60.1152128、2888、3888、9092kafka、zookeeper…...

【UE】将存档的值显示在控件蓝图上
上一篇博客(【UE】保存游戏的demo)已经实现了存档功能,本篇博客介绍的是如何将存档的值显示在控件蓝图上。 效果 可以看到我们存档的值显示在文本控件上 步骤 1. 新建一个蓝图类,父类为“HUD” 命名为“NewHudClassBP” 2. 在世…...