扩展TestComplete:如何更改光标?

时间:2020-06-09 15:03:09

标签: javascript testcomplete


我编写了一个TestComplete扩展程序,用于将TestComplete中的关键字测试签名更新为外部工具。 但是,此操作需要很长时间。这就是为什么我需要将光标从箭头更改为沙漏,并在完成操作后再将其更改为箭头。 执行操作的模块是用js编写的。
如果我尝试使用以下代码,则由TestComplete代码完成建议
Win32API.SetCursor(Win32API.IDC_WAIT);
我收到错误“预期对象”。即,尽管有代码补全建议,TestComplete扩展中的js仍不知道About Win32API对象。
省略Win32API。前缀具有相同的效果。尝试通过
创建合适的对象 new ActiveXObject("SomeKindClass")
失败,因为我找不到包含更改光标的方法的类的适当名称。 (我尝试过Microsoft.Win32,Microsoft.Win32API,Win32,Win32API和其他一些非名称...)
SmartBears关于书写扩展的描述似乎不包含有关在JS ScriptExtension中更改光标的提示。 如果我忽略了,请表示歉意。
任何建议都值得赞赏。感谢您对F1的建议!

编辑:
下面介绍了解决此问题的一种可能方法。但是,由于时间有限,我无法完全解决问题。也许有人可以确认或否认正确性。那很好啊。
步骤:

  • 在ScriptExtension中创建一个新的vbs模块(或扩展现有的vbs模块)。
  • 在 vbs模块的初始化方法,加载user32.dll,为创建原型 user32.dll的LoadCursor和CreateCursor方法。 (请参见Tutorial
  • 您可以在setCursor2 *方法中调用这些方法。
  • 在Description.xml中将setCursor2 *方法声明为名称空间的RuntimeObject中的方法(请参见Script Extension Description file
  • 分别调用js模块YourNameSpace.setCursor2Hourglass();YourNameSpace.setCursor2Arrow();中的方法。

1 个答案:

答案 0 :(得分:0)

不可能从 TestComplete 扩展中显示沙漏。
原因是,引用后,来自 https://support.smartbear.com/testcomplete/docs/working-with/extending/script/creating/specifics.htm

<块引用>

"如果您的设计时操作针对 TestComplete 执行操作 主窗口(例如,最小化窗口,更改窗口 大小和位置等),就会发生错误。发生这种情况是由于 TestComplete 中线程组织的细节。”

我猜,“等等”部分包括更改光标......