问题概述
- 一个关于8dot3命名更改的问题
- 最近做自动化测试的项目,使用Ranorex进行桌面程序控件选择的时候,默认根据processname进行查找;但有些情况下,不能正确某些控件所在process的识别processname,因为系统对这个名字进行了改写,比如abcdefghi.exe变成了abc~1.exe
- 这还不是最重要的,重要的是, 当在不同的机器上使用Ranorex,或者重装系统后,或者进行了某些windows更新后,对上述文件命的更改都会改变,比如有时候有改成了abc~2.exe/bdc~3.exe,无规律。
- 另,经验证,这个名字的改动和显示在任务管理器是一样的。
解决方案有两个:
1、不再使用processname作为识别的标志
可以使用pos/size的方法, 定义在桌面程序的某个区域内寻找合适的控件,如果桌面上没有其他的控件和目标控件大小类似(实际上一般不会有这个问题,不会有两个控件同时显示并且完全重合),上述问题得到解决
2、禁掉8dot3功能
在dos系统中,文件命名方式为8.3格式,即文件名不超过8个字符,扩展名不超过3个字符。形如:xxx.exe 。而现在Windows系统文件名长度最长可达255个字符了。
8dot3短文件格式是在dos系统继承下来的, 在w