首页 > 其他分享 >自动化测试工具Ranorex Studio(五十一)-如何做基于图像的自动化

自动化测试工具Ranorex Studio(五十一)-如何做基于图像的自动化

时间:2024-12-04 11:00:51浏览次数:6  
标签:myPopupWatcher Watch repo Ranorex bmp 五十一 Imaging 自动化 测试工具

如何做基于图像的自动化
如果Ranorex不能明确地识别某些你的GUI元素,那么使用基于图像的机制来自动化它们将会大有帮助。
 
C#
// Create bitmap to search for
// within application form and
// click it
Bitmap bmp = Ranorex.Imaging.Load(
@”..\..\Green Sea Turtle Small.bmp”);
// Performs a right click on the image found
// within the application window based on
// the image location
myRepo.WinFormsApp.Self.Click(MouseButtons.Right,bmp);
// You can also search for images that are slightly different to the
// loaded image by specifying the minimum Similarity for a match (95% = 0.95).
myRepo.WinFormsApp.Self.Click(new Location(bmp, new Imaging.FindOptions(0.95)));
// OR Set the default Similarity value for all following image operations
Imaging.FindOptions.Default.Similarity = 0.95;
myRepo.WinFormsApp.Self.Click(bmp);
Report.Success(“Image found and clicked successfully”);
 
VB.NET
‘ Create bitmap to search for
‘ within application form and
‘ click it
Dim bmp As Bitmap = Ranorex.Imaging.Load(“..\..\Green Sea Turtle Small.bmp”)
‘ Performs a right click on the image found
‘ within the application window based
‘ on the image location
myRepo.WinFormsApp.Self.Click(MouseButtons.Right, bmp)
‘ You can also search for images that are slightly different to the
‘ loaded image by specifying the minimum Similarity for a match (95% = 0.95).
myRepo.WinFormsApp.Self.Click(new Location(bmp, new Imaging.FindOptions(0.95)))
‘ OR Set the default Similarity value for all following image operations
Imaging.FindOptions.Default.Similarity = 0.95
myRepo.WinFormsApp.Self.Click(bmp)
Report.Success(“Image displayed successfully”)


如何查找和比较图像
在Ranorex里面使用图像比较来查找对象,可以使用contains方法
C#
 
// Create bitmap
Bitmap bmp = Ranorex.Imaging.Load(
@”..\..\Green Sea Turtle Small.bmp”);
// Search for it within the application window
if (Ranorex.Imaging.Contains(myRepo.WinFormsApp.Self,bmp) == true)
{
Report.Success(“Image found within WinForms application”);
}
 
VB.NET
 
‘ Create bitmap
Dim bmp As Bitmap = Ranorex.Imaging.Load(“..\..\Green Sea Turtle Small.bmp”)
‘ Search for it within the application window
If Imaging.Contains(myRepo.WinFormsApp.Self,bmp Then
Report.Success(“Image found within WinForms application”)
End If
 
注意:两个例子都是加载为压缩的图像(BMP, PNG格式)来进行一对一的比较。使用FindOption类可以来定义相似性等其他属性。

处理意外出现的对话框
UI测试中常出现的一个问题是意外出现的对话框,例如KeePass里面的Update-Check对话框。
为了克服这个问题,你可以使用PopupWatcher类。
使用这个类,你可以为每一个可能在测试执行过程中弹出的对话框添加watch
在这些watch里面,你可以指定PopupWatcher需要关注的RanoreXPath或者是对象库里的项。一旦出现,那么将会触发一个处理方法,或者对象库的项会被点击。
 
C#
void ITestModule.Run()
{
// Create PopupWatcher
PopupWatcher myPopupWatcher = new PopupWatcher();
// Add a Watch using a RanoreXPath and triggering the Method CloseUpdateCheckDialog
myPopupWatcher.Watch(“/form[@controlname=’UpdateCheckForm’]/button[@controlname=’m_btnClose’]”, CloseUpdateCheckDialog);
// Add a Watch using the info object of a button and triggering the Method CloseUpdateCheckDialog
// myPopupWatcher.Watch(repo.UpdateCheckDialog.btCloseInfo, CloseUpdateCheckDialog);
// Add a Watch using the info object of the dialog and the info object of the button to click
// myPopupWatcher.WatchAndClick(repo.UpdateCheckDialog.SelfInfo, repo.UpdateCheckDialog.btCloseInfo);
// Add a Watch using a repository folder object and the info object of the button to click
// myPopupWatcher.WatchAndClick(repo.UpdateCheckDialog, repo.UpdateCheckDialog.btCloseInfo);
// Start PopupWatcher
myPopupWatcher.Start();
}
public static void CloseUpdateCheckDialog(Ranorex.Core.Repository.RepoItemInfo myInfo, Ranorex.Core.Element myElement)
{
myElement.As<ranorex.button>().Click();
}
public static void CloseUpdateCheckDialog(Ranorex.Core.RxPath myPath, Ranorex.Core.Element myElement)
{
myElement.As<ranorex.button>().Click();
}
 
VB.NET
Private Sub ITestModule_Run() Implements ITestModule.Run
‘ Create PopupWatcher
Dim myPopupWatcher As New PopupWatcher()
‘ Add a Watch using a RanoreXPath and triggering the Method CloseUpdateCheckDialog
myPopupWatcher.Watch(“/form[@controlname=’UpdateCheckForm’]/button[@controlname=’m_btnClose’]”, AddressOf CloseUpdateCheckDialog)
‘ Add a Watch using the info object of a button and triggering the Method CloseUpdateCheckDialog
‘ myPopupWatcher.Watch(repo.UpdateCheckDialog.btCloseInfo, CloseUpdateCheckDialog);
‘ Add a Watch using the info object of the dialog and the info object of the button to click
‘ myPopupWatcher.WatchAndClick(repo.UpdateCheckDialog.SelfInfo, repo.UpdateCheckDialog.btCloseInfo);
‘ Add a Watch using a repository folder object and the info object of the button to click
‘ myPopupWatcher.WatchAndClick(repo.UpdateCheckDialog, repo.UpdateCheckDialog.btCloseInfo);
‘ Start PopupWatcher
myPopupWatcher.Start()
End Sub
 

标签:myPopupWatcher,Watch,repo,Ranorex,bmp,五十一,Imaging,自动化,测试工具
From: https://blog.csdn.net/2301_77588508/article/details/144090877

相关文章

  • 交易所 Level-2 历史行情数据自动化导入攻略
    用户部署完DolphinDB后,需要将历史股票数据批量导入数据库,再进行数据查询、计算和分析等操作。DolphinDB开发了ExchData模块,主要用于沪深交易所Level-2行情原始数据的自动化导入,目前已支持的数据源包括:沪深Level-2快照行情沪深逐笔委托沪深逐笔成交上交所逐笔合并注......
  • 【2024寒假全新】渗透测试工具大全(超详细),收藏这一篇就够了!
     黑客/网安大礼包:......
  • #Python#自动化脚本#编写01-抖音微信快手直播自动点赞
    免责声明本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 如需获取工具,评论区留言即可!!!目录项目需求:主要功能模块1......
  • 2024 年(第 7 届)“泰迪杯”数据分析技能赛A 题 自动化生产线数据分析
    **使用或者下载仅与作者联系后方可,否则视为侵权!!!!!**2024年(第7届)“泰迪杯”数据分析技能赛A题自动化生产线数据分析一等奖并获泰迪杯一、背景随着信息技术的快速发展,工业自动化领域的智能控制系统日益完善。自动化生产线能够独立完成从物料输送到元件抓取,再到产......
  • 非标自动化行业ERP选型与案例展示!
    非标自动化行业,那么使用的就是非标设备,什么是非标设备呢?用一句话来说明就是指设计制造方面没有形成国家标准的设备。在如今追求高效的社会,各行各业都朝着提高效率精益工艺,缩减流程,调整业务,用各种设备取代纯手工操作不可避免,比如用PC、微机控制的自动化设备取代传统设备。非......
  • 65K+!超级好用的API测试工具-Hoppscotch
     Hoppscotch是一个快速、轻量且开源的API测试工具,最初以RESTAPI为核心功能,但现在支持多种协议,包括:RESTAPI:快速发送HTTP请求并查看响应。GraphQL:提供直观的接口以测试GraphQL查询和变更。WebSocket:测试实时通信。Socket.IO 和 MQTT:支持更多协议的测试。核心......
  • Python | 再次分享10个Excel自动化脚本,一定有你用得上的!
    在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式。通过Python,我们可以实现对Excel文件的各种自动化操作,提高工作效率。本文将再次分享10个实用的Excel自动化脚本,以帮助新手小白更轻松地掌握这些技能。1.Excel单元格批量填充import pandas as pd# 批量......
  • 在Windows PE(Preinstallation Environment,预安装环境)中集成PowerShell 7,可以为系统管
    在WindowsPE(PreinstallationEnvironment,预安装环境)中集成PowerShell7,可以为系统管理员提供更强大的命令行工具和自动化脚本支持。WindowsPE本身是一个轻量级的操作系统,通常用于系统部署、恢复、维修和故障排除等任务,但它默认只集成了基本的命令行工具和脚本环境(如CMD和批处理......
  • Python 自动化办公的 10 大脚本
    1.批量重命名文件如果你需要对一堆文件进行重命名,比如给文件添加前缀或后缀,可以使用以下脚本:importos defbatch_rename_files(directory,prefix):  """批量重命名指定目录下的所有文件,添加前缀"""  forfilenameinos.listdir(directory):    new......
  • Bitbucket:Bitbucket自动化构建与持续集成_2024-07-18_05-50-15.Tex
    Bitbucket:Bitbucket自动化构建与持续集成理解自动化构建与持续集成自动化构建的重要性自动化构建是软件开发流程中不可或缺的一部分,它通过自动化工具在代码提交后自动执行编译、测试和打包等操作,确保代码的质量和项目的稳定性。这一过程减少了人工干预的错误,提高了开发效......