【发布时间】:2020-06-09 15:03:09
【问题描述】:
我编写了一个 TestComplete 扩展,以将 Keyword-Test 签名从 TestComplete 更新到外部工具中。
但是,这个动作需要很长时间。这就是为什么我需要将光标从箭头更改为沙漏,并在操作完成后返回箭头。
执行操作的模块是用js编写的。
如果我尝试使用 TestComplete 代码完成建议的以下代码 Win32API.SetCursor(Win32API.IDC_WAIT);
我收到错误“预期对象”。即,TestComplete 扩展中的 js 不知道关于 Win32API 对象,尽管有代码完成建议。
省略 Win32API。前缀具有相同的效果。尝试通过 new ActiveXObject("SomeKindClass")
创建适当的对象
失败,因为我无法为包含一些更改光标的方法的类找到合适的名称。 (我试过了,Microsoft.Win32、Microsoft.Win32API、Win32、Win32API 和其他一些无意义的名称......)
SmartBears 关于编写扩展的描述似乎不包含关于在 js ScriptExtension 中更改光标的提示。
请道歉,如果我忽略了它。
任何建议表示赞赏。感谢您对 F1 的建议!
编辑:
下面描述了一种可能的解决方法。但是,由于时间不够,我无法坚持到最后。也许有人可以确认或否认正确性。那太好了。
步骤:
- 在 ScriptExtension 中创建一个新的 vbs 模块(或扩展现有的模块,如果有的话)。
- 在 vbs模块的init方法,加载user32.dll,创建原型 user32.dll 的 LoadCursor 和 CreateCursor 方法。 (见Tutorial)
- 您在 setCursor2* 方法中调用这些方法。
- 将 Description.xml 中的 setCursor2* 方法声明为命名空间的 RuntimeObject 中的方法(参见 Script Extension Description file)
- 分别调用js模块
YourNameSpace.setCursor2Hourglass();和YourNameSpace.setCursor2Arrow();中的方法。
【问题讨论】: