正如已经提到的,KeePass不仅可以使用本地数据库,也可以使用存储在FTP服务器上的数据库。
图:KeePass应用,从URL中打开一个新的数据库
取决于网速和数据库的大小,FTP服务器的数据库装载动作最多可能花费10秒。装载完成后,出现登陆对话框。处理这一场景就像在Ranorex录制器(或在库中)一样,每一个对象库条目有它独有的超时值。使用上下文菜单条目的‘Properties’来打开‘LogIn’对话框的应用文件夹属性。
图:打开‘LoginWindow’应用文件夹的属性
为了看到超时值没有和环境匹配的情况,将对话框的搜索超时设置为10毫秒,以便再次执行测试用例的时候强行报错。即使没有外部数据存储(如FTP服务器)的装载,也需要一些时间打开文件并弹出对话框。10毫秒超时的时间是不够的,以致‘LogIn’录制模块运行失败。
图:测试用例执行失败-‘LoginWindow’在指定的10ms超时时间内未被找到
注意:为了将你的对象库还原成可工作状态,将登陆对话框的搜索超时值重设为30秒
等待一个UI元素的特定状态-事件处理
你还可以使用超时的方式等待文本状态,如动态变化的文本值。KeePass提供了一个可以复制用户名或密码到剪贴板的功能,这个功能是有时间限制的(默认12秒)。在时间限制范围内,应用中状态文本的改变说明机密的信息已经在剪贴板中保存了。12秒后,剪贴板的信息将被清除。这是由状态文本‘Ready’暗示的。库条目的超时值也可以用来等待任何条目一个特定的状态或属性(例如文本更改为‘Ready’)
为了演示等待特定UI元素状态的功能,创建一个新测试用例(例如‘ClipBoard-TestCase’),其中包含了录制模块’StartSUT’、’Login’,还有’Save’和’CloseSUT’。在这两块之间插入一个新录制模块’ValidateClipBoard’。
图:在‘LogIn’录制之后插入一个新录制模块
确认KeePass处于合适的状态(打开、登陆、包含一个数据集)之后,可以使用Ranorex Studio的录制按钮(选择’Global Recording’,并完成下面的步骤):
.点击Ranorex录制机工具窗口的’Validate’按钮
.在出现高亮框架后,验证文本状态为’Ready’
.确认’Validation’对话框
.点击KeePass中的任何条目
.打开文本菜单,选择’Copy Password’
.点击Ranorex Recorder tool窗口的’Stop’按钮
因为到现在为止,没有必要访问状态文本,所以没有对象库条目对应该UI元素。验证动作是随着库条目的创建,这个库条目指向文本值是‘Ready’的状态文本。录制这些简单动作后,改变录制表格的顺序,并将验证动作(#1)移动到最后的位置(#5)。
注意:你可以很容易的通过在录制表格中拖拽来重新安排录制动作的顺序。