首先,先把我51autotest上面的代码贴过来,链接:http://www.51autotest.com/home.php?mod=space&uid=2535&do=blog&id=151
Option   Explicit
On Error Resume Next

Dim virtualtype,row,coloumn,selectnum,x,y,height,width,ctlr
selectnum = 0
x = 0
y = 0
row = 0
coloumn = 0
height = 0
width = 0

Set ctlr = DotNetFactory.CreateInstance("System.Windows.Forms.Control")

virtualtype = InputBox("请输入要获取坐标的按钮类型数字"&Chr(10)&_
"1——Button"&Chr(10)&_
"2——List"&Chr(10)&_
"3——RadioButton"&Chr(10)&_
"4——Table","坐标获取")

Select Case virtualtype
Case 1
MsgBox "您选择的是获取VirtualButton的坐标信息"&Chr(10)&"请在关闭该对话框后3秒内将鼠标移到要获取坐标的控件的左上角"
Case 2
row = InputBox("您选择的是获取VirtualList的坐标信息"&(10)&"请在输入完List的行数后将鼠标在3秒内移到要获取坐标的控件的左上角")
Case 3
MsgBox "您选择的是获取VirtualRadioButton的坐标信息"&Chr(10)&"请在关闭该对话框后3秒内将鼠标移到要获取坐标的控件的左上角"
Case 4
row = InputBox("您选择的是获取VirtualList的坐标信息"&(10)&"请在输入完List的行数后将鼠标在3秒内移到要获取坐标的控件的左上角")
coloumn = InputBox("您选择的是获取VirtualList的坐标信息"&(10)&"请在输入完List的列数后将鼠标在3秒内移到要获取坐标的控件的左上角")
Case Else
MsgBox "您输入的类型错误!"
ExitAction
End select

wait 3
Do
x = ctlr.MousePosition.X
y = ctlr.MousePosition.Y
selectnum = selectnum + 1
If msgbox("是否确定本次点击位置?点击确定后请在3秒内将鼠标移到要获取坐标的控件的右下角",1) = 2 Then
selectnum = 0
End If
Loop until selectnum = 1
wait 3

height = ctlr.MousePosition.Y
width = ctlr.MousePosition.X

height = height - y
width = width - x
Set ctlr = nothing

print "x:="&x&chr(10)&" y:=   "&y&chr(10)&"height:=     "& height &chr(10)&"width:=     "&width &chr(10)&"row:=     "&row&chr(10)&"coloumn:=   "&coloumn

这个是最初的版本了,后来因为工作需要和个人兴趣,又扩充了一些功能,也算是一个小工具了(除了没有华丽的界面)
在这里把扩展和修改的一些功能和感触说一下吧,源码也不知道现在去哪了。
1. 加入自动生成qtp脚本或者虚拟对象文件内容的代码,节省工作量
2. 优化虚拟对象存储文件,虚拟对象尽量不要用qtp自带的虚拟对象文件进行存储,那样修改起来会很辛苦
感触:
1. qtp的虚拟对象是好用,但最好还是少用。因为维护起来比较麻烦
2. 对于框架体系中虚拟对象的应用和维护,最好和实体对象文件分开维护,这样可以便于查找维护

转载于:https://www.cnblogs.com/SilenceCity/archive/2012/10/18/2730277.html

利用vbs维护qtp的虚拟对象的坐标相关推荐

  1. 关于QTP 9.2对象库管理的一些总结

    QTP 9.2增强了对于对象库的编辑功能,改进了8.2版本中饱受用户诟病的,对于对象库编辑功能不够强大的缺 点. 比如1)在新增"Object Repository Manager" ...

  2. 利用js的闭包原理做对象封装及调用方法

    创建一个js文件,名为testClosure.js: ? 1 2 3 4 5 6 7 8 9 (function () {   function a()   {     alert('i am a') ...

  3. 解决Linux下无法利用shell脚本启动conda虚拟环境问题

    解决Linux下无法利用shell脚本启动conda虚拟环境问题 问题 直接在脚本中激活conda环境时遇到了一个问题 解决 查看.bashrc文件 .bashrc文件在 /home/用户名 里面,因 ...

  4. 如何在现实场景中随心放置AR虚拟对象?

    随着AR的发展和电子设备的普及,人们在生活中使用AR技术的门槛降低,比如对于不方便测量的物体使用AR测量,方便又准确:遇到陌生的路段使用AR导航,清楚又便捷:网购时拿不准的物品使用AR购物,体验更逼真 ...

  5. vbs能调用的系统对象小结

    vbs能调用的系统对象小结 文件系统对象相关: ("scripting.filesystemobject") 字典相关: ("scripting.dictionary&q ...

  6. 【Microsoft Azure 的1024种玩法】六十二.利用Azure Private DNS 实现虚拟网络中域名的管理解析

    [简介] Azure Private DNS是Azure为我们虚拟网络提供的安全可靠的DNS服务,我们无需自行配置DNS即可在虚拟网络中实现域名的解析及配置, 于此同时,我们在内网中也可以利用自己的自 ...

  7. anaconda下利用git维护github仓库

    anaconda下利用git维护github仓库 说实话,windows下利用github客户端维护github仓库是非常方便的,唯一不方便的是github客户端的下载安装,每次换电脑或重装系统都要装 ...

  8. 如何利用Web3D技术打造在线虚拟展览馆

    随着Web3D技术的不断发展,越来越多的企业和组织开始将其应用于虚拟展览馆的建设中.虚拟展览馆可以为观众提供高度沉浸式的展览体验,让观众可以随时随地参观各种展览,同时也为展览组织者提供了更多的展示方式 ...

  9. ML之Kmeans:利用自定义Kmeans函数实现对多个坐标点(自定义四个点)进行自动(最多迭代10次)分类

    ML之Kmeans:利用自定义Kmeans函数实现对多个坐标点(自定义四个点)进行自动(最多迭代10次)分类 目录 输出结果 核心代码 输出结果 核心代码 #!/usr/bin/python # -* ...

最新文章

  1. 2022-2028年中国麻纺织业投资分析及前景预测报告
  2. python画图代码星星-Python打印“菱形”星号代码方法
  3. eclipse工作空间在哪里配置?
  4. JS 加强篇!推荐 10 个好用的 TypeScript 的开源项目 YYDS !
  5. linux使用技巧:自动补全、常用快捷键* ? [] {}
  6. boost::type_erasure::incrementable相关的测试程序
  7. phpstorm+Xdebug断点调试PHP
  8. C语言rand(),srand()函数真实性能分析
  9. 蓝桥杯扫盲之int, char, unsigned int, unsigned char的使用
  10. ubuntu 软件包降级
  11. mysql 报错 Specified key was too long; max key length is 767 bytes,开启系统变量:innodb_large_prefix
  12. reactor p java_Java反应式框架Reactor中的Mono和Flux
  13. 信息学奥赛一本通 1147:最高分数的学生姓名 | OpenJudge NOI 1.9 02:输出最高分数的学生姓名
  14. ASP.NET MVC 拦截器(转)
  15. matlab 提示用户输入姓名,MATLAB程序设计-asp net的作业-WinFrom控件库|.net开源控件库|HZHControls官网...
  16. 【重构与模式】6.1用Creation Method替换构造函数
  17. 百度搜索时,使用‘-csdn’屏蔽掉CSDN网站的博客和内容
  18. 指南|七步搞定研控E总线驱动器与欧姆龙PLC主站连接
  19. 模板 | 年度财务分析报告财务工作汇报PPT
  20. 有关聊天机器人的近两年的优秀论文和开源程序

热门文章

  1. 计算机无法信任的英文,关于信任的英语名言佳句语录
  2. 华为研究院19级研究员几年心得终成趣谈网络协议文档
  3. iOS13文件的连接服务器
  4. Fastjson漏洞详情
  5. 推荐四款常见的电子教室软件,大家觉得哪款好用
  6. STM32基于 FatFs R0.14bSD Card 的MP3音乐播放器(也算是FatFs的简单应用了吧)
  7. Java并发之魂——synchronized深度解析
  8. 如果有一天不写代码了,还能干点啥?
  9. 科技云报道:2021《分布式文件系统和对象存储魔力象限图》解读
  10. 微信小程序:更改页面背景颜色