我正在尝试与Ruby一起使用自动。自动IT中有一些用户定义的功能,我需要进行GUI自动化,例如窗口选项卡访问等。问题是,与普通自动化API不同,我无法从Ruby win32ole对象访问自动dll的Ruby Win32ole对象the Autoit的UDFS 。有什么方法可以在我的Ruby代码中访问这些UDF?这些实际上是自动脚本中定义的一些功能,我认为我想要的是不可能的。我想要一些可能以前尝试过并得出结论的人的意见。

谢谢,问候,安贾利

有帮助吗?

解决方案

根据 自动论坛. 。我想您必须在Ruby中重写UDF。

其他提示

在Ruby中重写UDF是一个简单的解决方案。但是,由于所涉及的工作量,这并不是在所有情况下的解决方案。没有直接的方法可以从Ruby调用自动功能,因为您无法将自动汇编为DLL或COM或类似方法。

您能做的就是重写您的自动UDFS以启用分解通信。您可以通过命令行参数执行此操作:

If $CmdLine[0] > 1 Then
    Switch $CmdLine[1]
        Case "/1"
            Method1()
        Case "/2"
            Method2()
    EndSwitch
EndIf

Func Method1()
    ConsoleWrite("This is the 1st Method" & @CRLF)
EndFunc

Func Method2()
    ConsoleWrite("This is the 2nd Method" & @CRLF)
EndFunc

您将上述脚本编译为CUI(在自动编译器中检查选项),然后从Ruby运行。然后,您可以通过标准流来获取输出。另外,您可以将脚本的输出写入磁盘上的文件,然后使用Ruby读取文件的内容。

更多非传统交流交流的其他选项包括:

可能性是无限的。 :)这篇文章应该让您入门。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top