因为所做的测试基于浏览器平台,当在浏览器地址栏中输入地址进行浏览时,经常遇到各种问题(页面加载时元素抢占焦点等),导致输入操作失败,进而影响脚本执行,尝试了winedit所提供的几种方法,click(),DbClick(),以及SetCarePos(),其中SetCarePos()的效果最好,但是当执行很多脚本时,问题又出现了,经过哦尝试终于发现QTP的某项设置可以解决这种问题。
“Tools”---”Options”---“Windows Application”---“Advanced”---“Run Setting”---“Edit Box”下选中”Click Edit Box before inserting text”和”use keyboard events to perform Set Operations”。其中最重要的是前一项。
那么最终,我们除了进行 上面的设置,还自己手动去设置一下光标位置,代码如下:
1. Dim navigateURL
2. Window("浏览器窗口").WinEdit("地址栏输入框").SetCaretPos 0 //在WinEdit控件中设置焦点, 0代表焦点设置的位置
3. Window("浏览器窗口").WinEdit("地址栏输入框").Set navigateURL
4. Window("浏览器窗口").WinEdit("地址栏输入框"). type micReturn