UI自动化的适用场景,怎么做?
经常有人会问,什么样的项目才适合进行UI自动化测试呢?UI自动化测试相当于模拟手工测试,通过程序去操作页面上的控件。而在实际测试过程中,经常会遇到无法找到控件,或者因控件定义变更而带来的维护成本等问题。
哪些场景下适合UI自动化测试介入呢?
产品比较稳定,不会有频繁的需求变更;
需要频繁做回归验证的核心业务、核心界面;
选择稳定的业务流程,不建议选择处于探索期需要经常变更的业务模块;
适合维护周期长的项目,不适合短期项目;
如果使用编写代码实现的自动化测试工具,需要测试团队中大部分人员具备脚本开发能力。
UI自动化测试面临的两大核心问题
维护成本
UI自动化测试依赖于界面元素的定位和操作,对于界面变动敏感,一旦界面设计发生变化,测试脚本可能会失效。因此需要及时更新测试脚本,从而增加了UI自动化测试的维护成本;
学习成本
UI自动化测试需要使用特定的测试框架和工具,很多工具的学习曲线比较陡峭,需要掌握相应的编程语言和工具的使用方法,以及测试设计技巧,增加了测试人员的学习成本。
解决方案
今天给大家推荐一款刚刚在QECon大会亮相的产品RunnerGo,也是有UI自动化测试功能,简单易上手!
RunnerGo怎么做UI自动化
首先需要进入官网,RunnerGo支持开源,可以自行下载安装,也可以点击右上角体验企业版按钮快速体验
点击体验企业版进入工作台后可以点击页面上方的UI自动化 进入到测试页面
创建元素
我们可以在元素管理中创建我们测试时需要的元素
这里我们以一个打开百度搜索的场景,添加了百度输入框和百度一下按钮两个元素,首先需要获取到这两个元素的Xpath,如图,右键点击检查,点击左侧箭头指向按钮。
鼠标点击百度输入框即可定位到输入框元素
右键点击复制该元素的Xpath
填入RunnerGo元素属性中,点击确定,相同的方法创建百度搜索按钮元素。
创建场景
通过百度搜索的场景步骤为:进入百度搜索页面-点击输入框-输入搜索内容-点击百度搜索按钮-关闭页面
点击场景管理,创建场景
根据我们的步骤我们添加操作如图,点击打开网页
在弹框内输入需要打开的网页,配置当前步骤截图,点击保存。
保存后点击调试场景
点击后可以查看执行结果可以看到步骤截图:
根据以上步骤我们完善测试场景如下图,即可完成我们的一个流程的UI自动化测试。
相关文章:

UI自动化的适用场景,怎么做?
经常有人会问,什么样的项目才适合进行UI自动化测试呢?UI自动化测试相当于模拟手工测试,通过程序去操作页面上的控件。而在实际测试过程中,经常会遇到无法找到控件,或者因控件定义变更而带来的维护成本等问题。 哪些场…...

SpringFramewrok (1)
1、框架的概念与理解 在现实生活中,框架可以比喻为我们搭建房子的框架。 在框架的基础上,我们可以专注于我们自己的工作,而不用在意这些底层工作如何实现。 框架的优点包括以下几点: 1. 提高开发效率:框架提供了许多…...

电商独立站小程序开发方案
随着移动互联网的迅速发展,电商行业也逐渐向小程序平台转移。开发一款电商小程序对于拓展销售渠道、提高用户体验、增加用户忠诚度等方面都有着重要的意义。本文将围绕电商小程序的开发背景、需求分析、技术选型、开发流程、风险控制、商业模式和市场前景等方面进行…...

数据库安全运维是什么意思?数据库安全运维系统用哪家好?
我们大家都直到数据在某些情况下容易丢失或被破坏,攻击者可能通过对数据库进行破坏或勒索等手段获取利益。所以保障数据库安全至关重要。今天我们就来聊聊数据库安全运维是什么意思?数据库安全运维系统用哪家好? 数据库安全运维是什么意思&…...

小程序的console中出现:。。。不在以下 request 合法域名列表中,请参考文档:。。。的报错解决
报错效果: 其实这个报错不代表自己的代码有问题 但是本强迫症研究了一下,按照以下方法关掉就不会显示这个报错了。 点微信开发者工具中的右上角的详情。点本地设置。勾选不校验。。。HTTPS证书。 即可关闭该报错:...

计算机网络基础(三):IPv4编址方式、子网划分、IPv4通信的建立与验证及ICMP协议
**IPv4地址是一个32位长的二进制数。**而这个32位二进制数又通常会表示为4个用点隔开的十进制数。那么,这个32位二进制数要如何通过4个十进制数表示出来呢? 我们在配置IPv4地址时,同时配置的“掩码”又有何用途? 1.IPv4编址方式…...

Error: GlobalConfigUtils setMetaData Fail Cause:java.lang.NullPointerException
文章目录 1、在开发中会出现这样的错误。2、其次,再看其他错误: 1、在开发中会出现这样的错误。 完整错误:Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: GlobalConfigUtils setMetaData Fail ! Cause…...

OpenHarmony 应用全局的 UI 状态存储:AppStorage
AppStorage 是应用全局的 UI 状态存储,是和应用的进程绑定的,由 UI 框架在应用程序启动时创建,为应用程序 UI 状态属性提供中央存储。 和 AppStorage 不同的是,LocalStorage 是页面级的,通常应用于页面内的数据共享。而…...

外置告警蜂鸣器使用小坑
告警蜂鸣器调试小坑 昨天调试新产品,由于IMO、MSC组织和IEC标准规定,不能使用带红色指示灯的蜂鸣器,于是更换了个不带灯。然而奇怪的现象出现了两次短响的程序在有的页面正常,有的页面就变成一声了。搞了一天,把各种寄…...

SSO身份验证如何帮助加强密码安全性
单点登录 (SSO) 是一种身份验证服务,可帮助用户使用一组凭据快速安全地访问所有应用程序。在员工需要访问多个应用程序才能完成工作的企业环境中,每次需要访问时都必须为每个应用程序输入登录凭据,这是一个主要的烦恼来…...

JIRA 在 2024 年完全停止服务器版本支持
在服务器上的开源许可证版本已经要过期了,想去更新下。 发现,JIRA 的所有服务器版本的支持马上就要结束了。 这就意味着,如果你部署的服务器版本的 JIRA 的话,你将没有办法对服务器进行更新。 貌似,必须使用 JIRA 提供…...

Ubuntu18.04安装gdal3.4
一.依赖关系 所以,安装顺序:SQLite -> Proj -> Gdal...
C#好资源网址推荐
C#好资源网址推荐 Microsoft 官方资料 C# 文档 https://learn.microsoft.com/zh-cn/dotnet/csharp/ C# 编程指南 https://learn.microsoft.com/zh-CN/dotnet/csharp/programming-guide/ 变量 https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/language-sp…...

UE5 Python脚本自动化Sequence Key帧
前言 码上1024了,给大家分享一个UE5的脚本小功能,UE5中Sequence动态Key功能,这样我们就可以根据我们的数据动态更新了,非常实用,适合刚入门或者小白,接下来我就把整个过程分享给大家。 过程 新建一个工程…...

2023年整理的自动化测试面试题及答案
selenium中如何判断元素是否存在? 没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素异常捕获的方式判断selenium中hidden或者是display = none的元素是否可以定位到?不可以,想点击的话,可以用…...
docker 命令记录
常用 docker 命令 查看 docker 系统运行状态: systemctl status docker查看 docker 版本: docker -v查看本地镜像: docker images查看本地 docker 容器: docker ps # 正在运行的 docker 容器 docker ps -a # 所有的 docke…...
二、ElasticSearch中索引库与文档操作
文章目录 二、索引库与文档2.1 mapping映射属性2.2 操作索引库2.3 文档操作 二、索引库与文档 2.1 mapping映射属性 mapping映射属性 官方网址:https://www.elastic.co/guide/en/elasticsearch/reference/7.12/dynamic-mapping.html mapping 是对索引库中文档的…...
few shot learnning笔记
课程地址 https://youtu.be/hE7eGew4eeg?siKBM0lY7eY_AdD8Wr PPT地址 https://github.com/wangshusen/DeepLearning 第一节 Few-Shot Learning Basics 第二节 Siamese Network 第三节 Pretraining Fine Tuning(以图像识别举例) 基础 support set&…...

2022最新版-李宏毅机器学习深度学习课程-P25 Spacial Transformer Layer
data augmentation/spacial transformer CNN 并不能够处理影像放大缩小,或者是旋转的问题。所以在做影像辨识的时候,往往都要做 Data Augmentation,把你的训练数据截一小块出来放大缩小、把图片旋转,CNN 才会做到好的结果。 有一个架构叫 spacial Tran…...

轻松上手,制作电子期刊就这么简单
嗨,年轻的朋友们!你是否想过用你的创意和热情来制作一本属于自己的电子期刊?现在,这个梦想已经触手可及!只需要用到这款工具即可轻松上手,就能拥有自己的电子期刊 工具:FLBOOK在线制作电子杂志平…...

(12)-Fiddler抓包-Fiddler设置IOS手机抓包
1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求。 Fiddler 能捕获Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。同理也可以截获iOS设备发出的请求,比如 iPhone、iPad 和 MacBook 等苹…...

汇编语言学习(三)——DoxBox中debug的使用
目录 一、安装DoxBox,并下载汇编工具(MASM文件) 二、debug是什么 三、debug中的命令 一、安装DoxBox,并下载汇编工具(MASM文件) 链接: https://pan.baidu.com/s/1IbyJj-JIkl_oMOJmkKiaGQ?pw…...

NoSQL——Redis配置与优化
目录 关系型&非关系型数据库 一、核心原理对比 二、核心特性对比 三、关键区别剖析 四、典型产品示例 总结 Redis Redis核心原理 核心特性 技术意义 配置文件解析 1. 基础配置 2. 持久化配置 3. 内存管理 4. 高可用配置 5. 性能调优 6.…...

fast-reid部署
配置设置: 官方库链接: https://github.com/JDAI-CV/fast-reid# git clone https://github.com/JDAI-CV/fast-reid.git 安装依赖: pip install -r docs/requirements.txt 编译:切换到fastreid/evaluation/rank_cylib目录下&a…...
【Flask】:轻量级Python Web框架详解
什么是Flask? Flask是一个用Python编写的轻量级Web应用框架。它被称为"微框架"(microframework),因为它核心简单但可扩展性强,不强制使用特定的项目结构或库。Flask由Armin Ronacher开发,基于Werkzeug WSGI工具包和Jin…...
用 n8n 提取静态网页内容:从 HTTP Request 到 HTML 节点全解析
n8n 的 HTTP Request HTML 节点组合是个实用又高效的工具。这篇文章就带你一步步搞懂如何用它们提取静态网页内容,重点解析 HTML 节点参数和 CSS 选择器,让你轻松上手 。 一、整体流程概览 我们的目标是从静态网页中提取特定内容,流程分两…...

网页抓取混淆与嵌套数据处理流程
当我们在网页抓取中,遇到混淆和多层嵌套的情况是比较常见的挑战。混淆大部分都是为了防止爬虫而设计的,例如使用JavaScript动态加载、数据加密、字符替换、CSS偏移等。多层嵌套则可能是指HTML结构复杂,数据隐藏在多层标签或者多个iframe中。 …...
word操作(持续更新)
1、图片前面(无间隔格式),有像标题标记一样的黑点 word段落左边的黑色小方块小黑点是什么(段落的换行和分页属性)_哔哩哔哩_bilibili...

《如何使用MinGW-w64编译OpenCV和opencv_contrib》
《如何使用MinGW-w64编译OpenCV和opencv_contrib》 在Windows环境下使用MinGW编译OpenCV和opencv_contrib是一个常见需求,尤其是对于那些希望使用GCC工具链而非Visual Studio的开发者。下面我将详细介绍这个过程。 准备工作 首先需要安装和准备以下工具和库: MinGW(建议使…...

Docker 部署 Python 的 Flask项目
文章目录 一、构建运行 Docker 容器1. 查找合适镜像2.本地docker 拉取镜像3.项目配置1. python项目下生成 requirements.txt 依赖文件2. 生成Dockerfile文件3.忽略不必要文件4. 构建镜像 4. 运行容器5.测试 二、常见问题与解决方案 一、构建运行 Docker 容器 1. 查找合适镜像 …...