用户体验测试的自动化实现 - 第二种检查Tab顺序的方法

如何设计用户体验测试用例 本文讲解了用户体验测试用例的设计方法以及介入用户体验测试的时间。 阅读详情

  注:本文最早发表在《51测试天地》第九期

第二种检查Tab顺序的方法

前面介绍的检查TAB顺序的方法是通过模拟用户按下TAB键,然后检查控件的Focused属性来判断是否正确地跳转,而接下来要介绍的方法是通过读取控件的“TabIndex”属性来判断控件是否处于正确的TAB顺序的位置中。

    我们首先查看一下VB程序的界面设计器中的属性窗口,如图7所示。

图7  VB程序的界面设计器中的属性窗口

    可以看到ComboBox控件的属性中有一个名为TabIndex的属性,该属性用于设置或返回控件的Tab键顺序。如果能把这个属性值用起来,则可以在运行时直接取到这个值与预期的TAB顺序值进行比较,从而判断界面控件的TAB顺序设置是否正确。

    而在QTP中使用Object Spy可以查看到相同的属性值,如图8所示。这样就意味着可以在脚本中访问和获取该属性值,用于判断控件TAB顺序的设置是否正确。

图8  用Object Spy查看TabIndex属性值

    因此第二种检查TAB顺序正确性的脚本可以按以下方式编写:

' 创建Dictionary对象

Set Dic = CreateObject("Scripting.Dictionary")

' 添加Dictionary的key和value,把顺序号作为Key、控件对象作为Value

Dic.Add "0" , vbWindow("Form1").VbComboBox("Combo1")

Dic.Add "1" ,  vbWindow("Form1").VbEdit("Text1")

Dic.Add "2" , vbWindow("Form1").VbCheckBox("Check1")

Dic.Add "3" ,vbWindow("Form1").VbButton("Cancel")

Dic.Add "4" , vbWindow("Form1").VbButton("OK")

 

' 定位到Form1窗口

vbWindow("Form1").Activate

For I=0 To Dic.Count

       If CheckTabIndex(Dic.Item(CStr(I)) , I ) = False Then

        ' 如果检查到TabIndex属性值与预期值不一致,则退出循环

              Exit For

       End If

Next

 

' 检查控件的TabIndex属性

Public Function CheckTabIndex(TestObject,TabIndexNum)

       If TestObject.CheckProperty("TabIndex" ,TabIndexNum , 2)  Then

                 CheckTabIndex = True

       Else

                     CheckTabIndex = False

                     Reporter.ReportEvent micFail,"CheckTabIndex" , "控件的Tab顺序号与预期值不一致!"

       End IF

End Function

    该脚本实现了对如图9所示的界面的TAB顺序正确性的检查。

图9  需要检查TAB顺序的程序界面

    该脚本的运行结果如图10所示。

图10  运行结果

在检查控件的TabIndex属性时仍然使用的是CheckProperty函数,实际上也可以通过Object属性来访问TabIndex属性,可把CheckTabIndex函数改成如下所示的脚本:

' 检查控件的TabIndex属性,通过Object属性访问TabIndex

Public Function CheckTabIndex2(TestObject,TabIndexNum)

       If  TestObject.Object.TabIndex=TabIndexNum Then

                 CheckTabIndex2 = True

       Else

                     CheckTabIndex2 = False

                     Reporter.ReportEvent micFail,"CheckTabIndex" , TestObject.Object.Name & "控件的Tab顺序号与预期值不一致!"

       End IF

End Function

    则运行的结果如图11所示。

图11  修改CheckTabIndex函数后的运行结果

可以看到测试结果中少了很多CheckProperty函数所写的Log,我们仅关心控件的TabIndex属性与预期值不一致的情况。

UI测试与iTest自动化UI测试工具 通过用户界面 (UI) 测试来核实用户与软件的交互。UI 测试的目标在于确保用户界面向用户提供了适当的访问和浏览测试对象功能的操作。除此之外,UI 测试还要确保 UI 功能内部的对象符合预期要求。 这篇文章主要介绍UI测试的重点以及iTest在线的UI自动化测试工具。 阅读详情

相关推荐

《用户体验测试的自动化实现》QTP源代码

《用户体验测试的自动化实现》一文结合QTP的脚本编写,介绍了几个用户体验和界面规范测试方面的测试用例的自动化实现方法,通过工具的自动检查和比较,可避免人工检查的时间、精力的耗费,以及人工检查的误差。<br><br>《用户体验测试的自动化实现》仅提供了一部分自动化的思路,读者可顺着这些思路进一步地扩展和完善测试脚本,而且应该还有不少的用户体验测方面的测试用例是可以采用自动化的方式实现的,关键在于把它们挖掘出来,采用恰当的方式编写成测试脚本。<br>

excel宏:列出一个目录下所有文件,并做也超链接

 从网上找了一些信息,自己修改了一下 方式很直白,先把所有的目录找了出来,然后一个个目录来处理。 虽然与我习惯使用迭代的的方式有所差别,但也很好。 后面的函数是原始的,没有改动,主函数自己重新写过了。 文件下载 '主函数 Sub ListFilesInCurFolder() '//函数实例 Cells(1, 1)

郝玉杰的专栏 5894

深度学习与神经网络有什么区别

人工神经网络(ArtificialNeuralNetwork,即ANN)是从信息处理角度对人脑神经元网络进行抽象,是20世纪80年代以来人工智能领域兴起的研究热点,其本质是一种运算模型,由大量的节点(或称神经元)之间相互联接构成,在模式识别、智能机器人、自动控制、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。...

super67269的博客 8487

用户体验测试

在平时测试过程中,除了保证产品功能上的完整性,还会考虑产品的易用性,即用户体验测试。 一、什么是用户体验测试 顾名思义,用户体验测试是测试在产品发布前处于用户角度进行的一系列体验使用,比如界面是否友好、操作是否流畅、功能是否达到用户使用要求、是否符合用户使用习惯等 二、为什么测试过程中要添加体验测试 为了判定我们的产品是否能让用户快速的接受和使用 如今互联网行业发展迅速,牛逼的功能千篇一律,好的用户体验万里挑一。一个具有好的用户体验的产品,既是产品的加分项,也更易被用户选择。 三、

dou_being的博客 6900

电力电子新手必看:COT控制模式的工作原理与典型应用场景解析

本文深入解析了COT控制模式的工作原理及其在电力电子领域的典型应用。COT控制(恒定导通时间控制)通过固定导通时间机制,解决了传统滞环控制的问题,特别适用于需要快速瞬态响应和高效率的应用场景,如CPU/GPU供电和便携设备电源管理。文章详细介绍了COT控制的核心流程、技术特点及设计实践中的关键考量,帮助电力电子新手快速掌握这一技术。

weixin_30745553的博客 521

UFS 3.1协议分析(第一至四章) -- UFS概述

Contents协议规范规范参考术语和定义简单概述通用特性接口特性功能特性 协议规范     UFS3.1协议规定了UFS电气接口和存储器件的特性以及系统架构。 特性:低功耗、高数据吞吐量、低电磁干扰、大容量存储器子系统效率的优化 电气接口:使用基于MIPI M-PHY的高级差分接口;M-PHY作为物理层,MIPI UniPro作为链路层,二者结合形成UFS接口的互联。 架构模型:参考 INCITS T10(SCSI) SAM 标准,命令协议基于 INCITS T1

Frank_sample的专栏 1万+

用户体验测试全面分析

当面测试 测试中有什么角色:主持人,测试用户5-6(符合使用群体)人,观察者;做什么准备:前期:定义测试的目的(例如:为了了解Randonautica这款软件的体验,猎奇行为,是否会推荐他人;一般测试的人数5~6人;测试的设备选择测试用户习惯使用的设备;还要将手机投屏观察用户的使用流程,对过程进行录音和录屏进行存档,;测试的场景要符合软件的使用场景;测试任务:制定用户的测试任务,让用户完成任务流程体验;提问环节:向用户提问总结和再确认用户的体验,提问要和目的吻合。 测试中:主持人给出任务和场景后,让用户自行

qq_42824207的博客 807

Windows版MySQL8.4.2LTS解压直用(下载免安装-绿色-项目打包直接使用-含卸载)

安装前运行微软常用运行库全集(也可能称为依赖)关于MySQL8中相关参数配置,可通过。选择8.5.2LTS长期服务版。选中密码,右键会直接复制。

xzzteach的博客 1439

什么是用户体验测试? 为什么很重要?

在当今数字化时代,用户体验(User Experience,简称UX)已经成为产品成功的关键因素之一。无论是应用程序、网站、硬件设备还是软件,提供出色的用户体验不仅能够吸引更多用户,还能够增加用户满意度,提高品牌忠诚度,甚至增加收入。

zdzn1的博客 1220

【SpringBoot 3.x 第92节】Spring Modulith:构建模块化单体架构(基于 Spring Boot 3),一文带你搞透(超详细)!

🏆本文收录于《滚雪球学SpringBoot 3.x》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。    该专栏致力打造最硬核 SpringBoot3 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot3教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。

**My Coding Family** 997

华为防火墙——本地Portal认证

配置IP地址、路由、Nat策略使得内网主机可以访问公网服务器对网段不进行认证,对网段进行portal认证。

m0_49864110的博客 3258

用户体验测试的自动化实现 - 检查Tab顺序

注:本文最早发表在《51测试天地》第九期检查Tab顺序    使用与检查焦点类似的方法,可以检查界面中控件之间的焦点跳转顺序是否正确,也就是我们通常所说的Tab顺序的检查。    检查焦点的跳转顺序的目的是为了提高用户的工作效率,在输入密集型的用户界面中,用户通常大部分情况下是在录入数据,如果不能很好地支持键盘TAB键、快捷键,而是要用户每输入一个数据就要移动鼠标,再次定位,则会耗费很

软件质量优化 2618

解决TexStudio编写LaTeX论文引用文献问题:正文引用处出现[?],参考文献也不显现

当我们利用LaTeX编写论文时,可能会出现引用参考文献时正文引用处出现?号,肯能的原因及解决方案如下: 问题一 忘记在\end{document}前面放\bibliographystyle{样式}和\bibliography{参考文献bib文件名}: \bibliographystyle{plain} \bibliography{sample} 其中, LaTeX 标准选项及其样式共有以下8种: plain,按字母的顺序排列,比较次序为作者、年度和标题. unsrt,样式同plain,只是按照引用的先后

左手の明天的博客 9527

用户体验测试的自动化实现 - 对检查Tab顺序的脚本进行完善

  注:本文最早发表在《51测试天地》第九期对检查Tab顺序的脚本进行完善把前面的脚本结构适当调整,让其可维护性更强,则可改成如下所示的脚本: 检查控件的focused属性Public Function CheckFocus(TestObject)       If TestObject.CheckProperty("focused","True") Then  

软件质量优化 2845

PyCharm配置SSH远程解释器第3步时弹框报错:com.google.gson.stream.MalformedJsonException: Expected value at l...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1928

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

《用户体验测试的自动化实现》- 什么是用户体验测试?

注:节选自《用户体验测试的自动化实现》,文章最早发表在《51测试天地》第9期什么是用户体验测试?    用户体验是软件产品的使用者对产品的印象、感觉,同时也是用户既有的软件使用习惯和业务思维模型的综合反映。软件产品的用户体验好,则能让用户感到使用方便、易用、符合思维习惯。    用户体验测试就是基于用户的使用习惯和思维模式出发,结合实际的业务场景,对软件产品的外观、操作方式等方面进行检

软件质量优化 3892

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

软件测试——界面测试

有软件的地方就有界面,就会有界面测试。界面测试是软件测试中,最多,最繁琐,最简单的测试。尤其在本地化测试(多国语言测试)中,有很多的界面测试。 界面测试,也叫UI测试(User interface testing), 本文介绍一些常见的界面测试,以及描述界面Bug时所用的术语。 界面测试的目的 检查用户界面的风格是否满足客户的要求, 是否通用,文字是否正常,页面是否美观,文字,图片是否结合完美,操作是否友好等等。 界面测试没必要设计Test Case 界面测试比较繁琐,个人认为软件测试人员,其实没有必要专门

测试界的彭于晏的博客 7249

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

DataV可访问性测试:自动化与手动测试方法

你是否遇到过数据大屏在高对比度模式下文字模糊不清?或者使用屏幕阅读器时数字翻牌器组件无法正确朗读数值?作为基于Vue的数据可视化组件库,DataV广泛应用于监控中心、指挥调度等关键场景,其可访问性直接影响信息传递效率和使用体验。本文将通过自动化工具与手动测试相结合的方法,帮助你全面评估DataV组件的可访问性表现。 ## 测试环境准备 开始测试前需要准备基础环境,包括: - **测试工具集*...

gitblog_00915的博客 310

搞定多语言适配!ANIMATED TAB BAR国际化兼容性全测试

你还在为iOS应用的标签栏(Tab Bar)在多语言环境下显示异常而烦恼吗?按钮文字错位、动画效果卡顿、图标与文字排版混乱……这些问题不仅影响用户体验,更可能导致海外市场评分下滑。本文将以ANIMATED TAB BAR([RAMAnimatedTabBarController](https://link.gitcode.com/i/e14ceacbbe9eb0063bc030109fabe084

gitblog_00870的博客 456

C#无障碍测试革命:从代码到用户体验的全面突破

Lighthouse集成。WCAG合规性规则库。WAVE API调用。

墨夶的博客 1134

软件测试之界面测试(一)

声明:本文属于转载过来的文章!版权归原作者所有! 原文链接: https://www.cnblogs.com/TankXiao/p/3410043.html 有软件的地方就有界面,就会有界面测试。界面测试是软件测试中,最多,最繁琐,最简单的测试。尤其在本地化测试(多国语言测试)中,有很多的界面测试。 界面测试,也叫UI测试(User interface testing), 本文介绍一些常见的界面测...

紧张先生的博客 3846

React Aria无障碍测试:自动化测试与手动测试

在现代Web开发中,构建无障碍(Accessibility,简称a11y)应用已不再是可选项,而是必备要求。据统计,全球有超过10亿人存在不同程度的残疾,其中视觉障碍用户超过2.85亿。React Aria作为Adobe开源的React无障碍组件库,提供了完整的无障碍解决方案,但如何确保这些组件的无障碍功能真正发挥作用?本文将深入探讨React Aria的无障碍测试策略,涵盖自动化测试与手动测试的...

gitblog_01110的博客 975
上一篇: QTP的Run-time Object与Test Object 属性之间的区别
下一篇: Windows Server 2008虚拟技术 - 小小注意points
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值