首页 > 其他分享 >浅谈UI自动化测试

浅谈UI自动化测试

时间:2024-02-01 18:33:21浏览次数:28  
标签:RunnerGo 浅谈 录制 UI 测试 自动化 测试工具

为了让对自动化技术感兴趣的朋友们有真实案例的支持,今天我们给大家带来一期适合新手的UI自动化测试介绍。我们的目标是让大家能够轻松理解UI自动化测试的概念,并且能够亲自动手去实践。通过这个介绍,大家能够对UI自动化测试有一个整体的理解,并且能够自己动手去做。

项目的选取:

虽然UI自动化测试对于项目有严格的要求,但总会有一些项目或模块的功能异常稳定,非常适合纳入UI自动化测试的待办列表中。

要构建一个系统而全面的UI自动化测试体系,我们需要选择符合以下条件的项目:

功能稳定性:项目具备相对稳定的功能,经过验证和测试的模块适合进行UI自动化测试。

高重复性:项目中存在需要频繁执行的任务或操作,这些任务适合通过UI自动化测试来实现自动化执行,提高效率和准确性。

频繁变更的模块:项目中存在需要频繁变更的模块,通过UI自动化测试可以快速捕捉到可能引入的问题和缺陷,及时进行修复和验证。

时间和资源可行性:项目具备足够的时间和资源来进行UI自动化测试的开发、维护和执行。

ROI回报率高:项目中的UI自动化测试能够为团队带来明显的回报和价值,提高测试效率、减少人力成本或降低错误率等。

通过谨慎选择满足以上条件的项目进行UI自动化测试,可以建立起一个稳健而全面的UI自动化测试体系,提高整体测试效率和质量。

UI自动化用例设计原则:

自动化测试用例通常只实现核心业务流程或重复执行率较高的功能(因为UI自动化主要用于回归测试)。

自动化测试用例的选择主要侧重于验证“正向”逻辑(因为UI自动化主要用于验证主要功能和主要流程)。

并非所有手工用例都适合使用自动化测试执行(实话实说,有些功能点手工执行效率

更高,且高出许多,因为自动化的前置条件繁琐)。

尽量减少用例脚本之间的依赖(减少耦合将提高脚本的稳定性,每个方法都应该独立可执行)。

自动化测试用例执行完毕后,通常需要回归到原点(这是为了重复利用我们的脚本,重复执行的前提是无需人工调整。例如,对于查询列表功能,确保搜索框能正确搜索到对应内容的前提是列表数据的稳定性)。

以上原则是构建稳定UI自动化测试框架的关键要素。

测试方法的选择:

在UI自动化测试领域,有多种选择可供测试人员使用。一个选择是自行编写代码和构建测试框架,以创建自定义的测试用例。另一个选择是使用开源工具来进行测试。当然,自动化测试的终极目标是实现平台化,测试人员的进阶也是朝着测试开发的方向发展,就像开发JMeter这样的测试工具一样。

在选择测试方法时,应根据个人条件进行权衡。如果你具备编码能力,可以尝试自行编写测试代码和框架;如果没有相关技能,建议使用现有的测试工具。如今,测试工具的发展非常成熟,大厂的自动化测试平台也非常完善。此外,市场上还有许多与大厂自研产品不相上下的测试工具,其中就包括我们今天要介绍的测试工具:RunnerGo,一款开源的全栈测试平台。

RunnerGo怎么做UI自动化

RunnerGo支持自己创建测试用例,也支持通过录制器录制脚本导入创建:

首先需要进入官网,RunnerGo支持开源,可以自行下载安装,也可以点击右上角体验企业版按钮快速体验

 

通过录制器录制脚本

下载录制器

点击RunnerGo上方插件按钮下载录制器

 

录制器使用

将插件文件拖入浏览器扩展程序

 

点击打开录制器,在浏览器中进行操作时录制器会将操作录制为一个JSON文件。

 

可以在录制器中下载、开始、暂停、清除当前录制,点击下载后配置文件名可生成录制文件。

 

录制脚本

在浏览器操作时,录制器内展示操作日志,这里我们录制一个百度搜索RunnerGo,打开RunnerGo官网的脚本。录制完成后下载脚本

 

调试场景

在RunnerGo中创建测试场景,上传录制好的JSON文件

 

导入文件后展示如下图,点击调试场景即可开始调试~

 

标签:RunnerGo,浅谈,录制,UI,测试,自动化,测试工具
From: https://www.cnblogs.com/meimaodachong/p/18001854

相关文章

  • npm证书过期:npm ERR! request to https://registry.npm.taobao.org/element-ui failed
    场景:使用淘宝源安装element-ui时npm证书过期报错信息如下:npmERR!codeCERT_HAS_EXPIREDnpmERR!errnoCERT_HAS_EXPIREDnpmERR!requesttohttps://registry.npm.taobao.org/element-uifailed,reason:certificatehasexpirednpmERR!Acompletelogofthisrun......
  • go build 国内 失败
    *[Go国内加速:Go国内加速镜像|Go技术论坛](https://learnku.com/go/wikis/38122) *[SECURITYERRORThisdownloaddoesNOTmatchanearlierdownloadrecordedingo.sum.Thebitsmayhavebeenreplacedontheoriginserver,oranattackermayhaveintercepte......
  • 统信UOS搭建Squid代理服务器
    原文链接:统信UOS搭建Squid代理服务器hello,大家好啊!今天我要给大家介绍的是在统信UOS服务器操作系统1060e上部署搭建Squid代理服务器的详细步骤。Squid是一款广泛使用的代理服务器软件,它可以帮助企业或个人高效地管理网络流量,提高访问速度,并增强网络安全。通过使用htpasswd进行用户......
  • 界面组件DevExpress中文教程 - 如何使用UI本地化客户端工具本地化应用
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具。获取DevExpressv23.2正式版下载DevExpress技术交流群9:909157416      欢迎一起进群讨论在2023年12月(......
  • App requires Multidex support Multidex support is required for your android app
    flutterandroid报错64k!]ApprequiresMultidexsupportMultidexsupportisrequiredforyourandroidapptobuildsincethenumberofmethodshasexceeded64k.Seehttps://docs.flutter.dev/deployment/android#enabling-multidex-supportformoreinformation......
  • squid代理配置
    1.概述本篇记录如何使用squid做代理,修改默认端口,允许特定网段节点使用代理访问特定域名2.过程2.1生成账号密码文件htpasswd-c/etc/squid/.squid_usersliwl输入密码:liwanliang执行结束,会创建/etc/squid/.squid_users#账号liwl,密码:liwanliang修改权限:chownsquid.sq......
  • 【渗透工具】一款自动化分析网络安全应急响应工具--FindAll
    简介这款工具的推出将极大地提升蓝队应对网络安全事件的能力,不仅有助于提高响应效率,还能够降低工作复杂性。通过提供全面的信息搜集和高效的威胁分析,我们可以帮助蓝队成员在复杂的网络环境中保持优势,但应急响应是一个十分复杂的工作此工具只能帮助蓝队人员收集部分信息,如有异常发......
  • ComfyUI 安装教程 Animatediff 1000张工作流分享 请收藏
    最近SD的大更新比较少,所以最近转战到ComfyUI,从流程节点,到工作流搭建,使用ComfyUI实现webui的大部分功能,且节点的定义性很强,这就造就了ComfyUI的多样性,但是不得不承认,多节点之间的搭配,是否符合整个底层流程,通过一个工作流实现多节点插件的配合工作是比较复杂的,而ComfyUI不近支持GPU还......
  • ClientBuilder https请求时忽略SSL证书。
    在chrome中连接https时,有时被告知不是私密链接,手动可以继续。用java代码进行https也遇到这种情况,可以 实现一个X509TrustManager接口,用于绕过验证,不用修改里面的方法附完整可用代码importorg.glassfish.jersey.jackson.JacksonFeature;importjavax.net.ssl.SSLContext;im......
  • easyui-datagrid 加载数据 方法二 ( 自定义返回值 json方式)
    效果图 html部分<tableclass="my_table"><tr><tdclass='my_dt_label'>主叫号码:</td><tdclass='my_dt_field'><inputtype='text'id='select_callerid&......