UIlicious - 自动化端到端测试
在现代软件开发中,测试自动化已然成为产品交付质量的基石。而端到端测试(E2E),作为验证整个应用流畅运行的关键,常常是测试工作中最具挑战性的一环。这时,一款简单高效的自动化测试工具——UIlicious,横空出世,为开发者与测试工程师提供了全新的解决方案。
为什么UIlicious能在众多测试工具中脱颖而出?它在端到端测试中究竟有何独特优势?
软件开发迭代过程中,自动化测试的普及与重要性日益凸显,而低代码自动化测试框架的出现,为测试团队带来了更高效、灵活的测试解决方案。
本文将介绍一款低代码测试框架– UIlicious,为用户提供了简单而灵活的低代码脚本编写能力,使得web自动化端到端测试变得高效与可靠。

简介
UIlicious是一个一体式平台,用于大规模自动化、运行和计划跨浏览器测试,其简单而灵活的低代码测试框架允许你的自动化web应用程序从基础到复杂进行端到端测试。
功能特点:
1、云IDE和测试网格:在云上编写和运行测试。
-
你可以在UIlicious云平台上的浏览器中编写和运行所有测试。
-
无需安装和连接各种测试软件、库、框架、浏览器、浏览器驱动程序、Selenium网格集线器等,并不断更新。
2、低代码体验:UIlicious是一个快乐的中间人,无代码和脚本工具。
-
任何人都很容易开始使用UIlicious,即使你还不知道如何编码。
-
但UIlicious也是一种灵活的工具,不会妨碍工程师编写原始代码。
3、关键词驱动测试:像ABC一样简单。
-
用UIlicious编写测试就像用简单的英语描述用户故事。
4、自定义脚本:变量、循环、条件、自定义函数。
-
低代码并不意味着没有代码,UIlicious测试在Javascript上运行,因此你可以根据需要编写原始代码来处理更复杂的测试场景。
5、AI测试编写:让人工智能编写测试。
-
如果编写测试感觉像是一件苦差事,那就让人工智能助理帮助你,给它一个提示,比如“帮我写一个测试,买一张从北京到上海的经济型机票”,让人工智能发挥它的魔力。
6、报告:可操作的测试报告。
-
发生了什么?bug在哪里?用户做了什么?
-
哪个页面?URL是什么?哪个浏览器?什么分辨率?什么时候?是否有屏幕截图/屏幕录制?
-
UIlicious测试报告自动捕获开发人员需要知道的所有内容,以立即调查错误,从而可以在不浪费时间的情况下修复错误。
7、报告:重放测试。
-
通过友好的交互式测试报告,逐步向开发人员展示如何重现错误。
-
在聊天中将其作为错误通知单中的链接共享,或作为wiki上的嵌入内容共享,或将其展开为PDF报告。
8、监测:计划测试,持续监控。
-
计划测试全天候运行,即使在你睡觉时也是如此。
9、通知:测试失败时获得通知。
-
设置错误通知以通过电子邮件、Slack或webhooks向你发出警报。
10、更多:
-
支持所有主流浏览器:确保所有浏览器上的一致性-即使在IE11上。
-
响应性测试:确保web应用程序在设备之间完美工作。
-
地理位置测试:从旧金山到新加坡,在全球12个不同地区进行测试。
-
在任何前端上工作:你的UI代码看起来像是隐藏在引擎盖下,并不重要。
-
Shadow DOM: UIlicious自动扫描Shadow DOM中的元素,并且能够在不需要复杂解决方案的情况下定位它们。
-
自动等待:UIlicious会自动等待目标元素出现在屏幕上,然后再尝试交互或验证它。
-
动态和受保护的测试数据:数据集允许你使用不同的测试数据运行测试,并存储将在报告中隐藏。
-
远程Selenium Grid:在网格上运行由Selenium或其他基于Webdriver的库编写的现有测试。
-
CI/CD集成:使用CLI将测试挂接到CI/CD管道中。
官方网址:https://uilicious.com/
3、快速上手
1、注册账号并进行登录。

2、创建项目。
登录后,点击+ Project 按钮创建新项目。

输入项目名称,点击Create 按钮。

项目创建完成。

3、创建与编写测试脚本。
点击左侧窗格上工具栏中的+ 按钮以添加新的测试文件。

输入测试文件名称,点击Add 按钮。

根据实际测试URL,编写测试脚本。
导航跳转到测试URL。
I.goTo("https://www.saucedemo.com/")提供字段名与输入内容进行输入。
I.fill("Username", "standard_user")
I.fill("Password", "secret_sauce")点击操作。
I.click("Login")验证预期文本是否显示在页面上。
I.see("Swag Labs")
4、运行测试并查看测试报告。
运行时可以选择不同的浏览器运行。

也可以选择不同的分辨率来运行。

测试脚本准备好后,点击Run按钮,测试开始执行,可以看到测试的结果,以及为每个步骤拍摄的屏幕截图。

测试报告分享,任何具有此链接的人都可以查看你的测试报告。

测试报告下载。

预览测试报告。

5、创建job。
创建job以在计划的时间自动运行测试,并在出现错误时通知你。
选择Monitoring 选项卡,然后点击Schedule a job 按钮。

输入job 名称,选择要运行的测试脚本。
设置何时多久来运行测试脚本,再设置运行结果的通知,比如邮件通知方式,配置完成后,点击Schedule 按钮。

Job添加完成。

6、查看测试运行记录。
从Runs 选项卡中查看现在与过去的测试结果记录。

随着DevOps和持续交付理念的普及,自动化端到端测试变得愈发重要。传统的手工测试方法已无法跟上迭代速度,而市场对无缝用户体验的追求,则推动了工具如UIlicious的广泛应用。
如果你还在为复杂的端到端测试流程头疼,不妨尝试UIlicious,它能为你的测试工作减负增效。尤其是在多平台支持与非技术人员参与方面,UIlicious表现尤为突出。
自动化端到端测试已成为确保软件质量的必经之路,而UIlicious凭借其简洁、智能、兼容性强等特点,为测试工程师提供了更多的可能性。
“从无到有的体验,UIlicious助你一键掌控!”
相关文章:
UIlicious - 自动化端到端测试
在现代软件开发中,测试自动化已然成为产品交付质量的基石。而端到端测试(E2E),作为验证整个应用流畅运行的关键,常常是测试工作中最具挑战性的一环。这时,一款简单高效的自动化测试工具——UIlicious&#…...
JMeter中获取随机数、唯一ID、时间日期(包括当前日期增减)截取指定位数的字符等
在JMeter中,您可以使用内置的函数和一些额外的插件来获取随机数、唯一ID、时间日期以及截取指定位数的字符。以下是一些常用的方法: 获取随机数: 使用__Random函数,您可以在指定的最小值和最大值之间生成一个随机数。例如…...
构建自己的docker的ftp镜像
aarch64系统可运行的docker镜像 构建自己的vsftpd镜像,我是在windows系统下的docker desktop中构建运行于aarch64 GNU/Linux系统的ftp镜像。 系统环境: Welcome to Debian GNU/Linux with Linux x.x.x dockerfile FROM ubuntu:latestUSER rootRUN ap…...
人机交互革命,为智能座舱市场激战注入一针「催化剂」
从AIGC到AGI赋能,智能座舱人机交互体验迎来新范式。 不断训练、迭代的大模型,为智能座舱带来了更全面的感知能力、更准确的认知理解,以及更丰富的交互模态,显著提升了其智能化水平。 “AI大模型的快速应用与迭代,推动…...
数据结构复习记录
基本概念 线性表 线性表是最简单也最常用的一种数据结构,是由n( n ≥ 0 n\geq0 n≥0)个类型相同的数据元素组成的有限序列,是一种逻辑结构,有两种表示方式(即存储结构):顺序表示和链式表示。 栈和队列 栈…...
Qt自定义checkbox实现按下回车键该项打勾
引言 开发环境代码结构示例代码运行效果总结使用qt实现一个列表,列表中每一项中的类似一个checkbox,通过上下键可以切换选中项,按下回车键在已经选中的项前出现对勾。效果如下: 20241203_163929 开发环境 使用ubuntu下QtCreator4.11.。 代码结构 这里将项目的结构截图贴…...
头歌作业 数据库与大数据管理 期末复习资料
1、 下列说法错误的是?c A、UserCF算法推荐的是那些和目标用户有共同兴趣爱好的其他用户所喜欢的物品 B、ItemCF算法推荐的是那些和目标用户之前喜欢的物品类似的其他物品 C、UserCF算法的推荐更偏向个性化 D、UserCF随着用户数目的增大,用户相似度…...
2023年华数杯数学建模A题隔热材料的结构优化控制研究解题全过程文档及程序
2023年华数杯全国大学生数学建模 A题 隔热材料的结构优化控制研究 原题再现: 新型隔热材料 A 具有优良的隔热特性,在航天、军工、石化、建筑、交通等高科技领域中有着广泛的应用。 目前,由单根隔热材料 A 纤维编织成的织物,…...
如何抓取亚马逊页面动态加载的内容:Python爬虫实践指南
引言 在现代电商领域,数据的重要性不言而喻。亚马逊作为全球领先的电商平台,其页面上动态加载的内容包含了丰富的商品信息。然而,传统的爬虫技术往往难以应对JavaScript动态加载的内容。本文将详细介绍如何使用Python结合Selenium工具来抓取…...
在线钢琴源码
在线钢琴源码 是利用HTML5技术开发的在线钢琴应用,致力于为钢琴爱好者、音乐爱好者提供一个优雅、简洁的平台 在学习工作之余可以在线弹钢琴,享受音乐、生活的美好。自由钢琴支持自动演奏和手动演奏,简单易学,快来试试吧 源码截…...
【OpenDRIVE_Python】使用python脚本输出OD数据中含有信号灯地物的道路ID和信号灯信息
示例代码说明: 遍历OD数据中每条道路Road,若Road中存在信号灯地物signal,则将该道路ID和包含的所有信号灯输出到xml文件中。补充:一个Road中可能存在多个信号灯signal,这里取signal的上级标签signals,则将所有信号灯同…...
普中51单片机——LED流水灯模块
1、GPIO概念 GPIO(general purpose intput output)是通用输入输出端口的简称,可以通过软件来控制其输入和输出。51 单片机芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、 控制以及数据采集的功能。 1.1、GPIO分类 &a…...
智已汽车x-signature 登录算法 签到
智已汽车x-signature 登录算法 签到 python代码成品...
浅谈留学essay之初级研究:What, why and how
所谓初级研究(primary research)指的是对研究者从观察、实践、访谈、问卷等第一手研究方法中得出的原始数据进行分析的研究方式。其主要特征是直接性(directness)、客观性(factual)、一手性(fir…...
Mac启动服务慢问题解决,InetAddress.getLocalHost().getHostAddress()慢问题。
项目启动5分钟,很明显有问题。像网上其他的提高jvm参数就不说了,应该不是这个问题,也就快一点。 首先找到自己的电脑名称(用命令行也行,只要能找到自己电脑名称就行,这里直接在共享里看)。 复制…...
电商营销活动-抽奖业务
目录 一、抽奖系统的核心功能 二、抽奖系统的业务逻辑 三、抽奖系统的业务优势 四、抽奖系统的业务注意事项 电商营销活动中的抽奖系统业务,是一种通过设立抽奖活动来吸引用户参与、提升用户活跃度和转化率的营销手段。以下是对电商营销活动抽奖系统业务的详细解…...
虚拟DOMdiff算法
一.什么是虚拟DOM? 虚拟DOM是 VUE 一个比较核心的概念,为什么会有虚拟DOM呢?首先可以与传统的网页开发做个对比,在没有 VUE 和 REACT 框架之前,我们都是使用原生 JavaScript 或者 jQuery,那时候是直接对 D…...
IDEA实现javaweb用户登录(增删改查)
IDEA实现javaweb用户登录(增删改查) 文章目录 IDEA实现javaweb用户登录(增删改查)前言一、IDEA 软件的简单使用1 创建一个普通 java 项目2 新增 web 配置将项目由普通的Java项目变为 javaweb项目2.1 新增 web 配置2.2 新增项目文件…...
JS进阶01-异步编程、跨域、懒加载
目录 一、异步编程 1.1.异步编程的基本概念与重要性 1.2.事件循环(Event Loop)机制 1.3.JavaScript异步编程的常见方式及详解 示例 1.4.异步编程的最佳实践 二、跨域 2.1.什么是跨域 2.2.怎么解决跨域 1. JSONP(JSON with Padding&…...
2012年 数模美赛 C题 犯罪克星
一、问题重述 银河犯罪建模中心(ICM)正在调查一个犯罪阴谋。调查人员已经识别出一些阴谋成员,但希望在逮捕之前确定其他成员和领导人。所有嫌疑人和可能的同谋者都受雇于同一家公司,并在一个大的综合办公室里工作。该公司正在开发…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
