【问题标题】:Integrating Autoit to selenium: Getting value of variable in AutoIT code in Selenium script将 Autoit 集成到 selenium:在 Selenium 脚本中获取 AutoIT 代码中的变量值
【发布时间】:2013-04-02 09:56:44
【问题描述】:

我的要求是自动配置实例(我正在开发的公司产品的实例)。场景是这样的,在我的配置中间,控件从窗口转到浏览器,其余的配置过程在浏览器中处理,因此整个过程是基于窗口和基于浏览器的组合。我已经使用 AutoIT 完成了基于窗口的配置,当控件转到浏览器时,我使用的是_FFStart() $ffUrl = _FF_GetCurrentURL()。我在 AutoIT 脚本的变量中获取 URL。我想通过 Selenium 自动化进一步的基于 Web 的配置。我从我的 Java 类中调用这个 AutoIT 编译的脚本。 我的问题是,有没有一种方法可以获取保存在 AutoIT 脚本中的 URL,以便创建 Web 驱动程序实例、使用 URL 打开浏览器并使用 Selenium 进一步处理我的配置过程。

【问题讨论】:

    标签: java selenium-webdriver autoit


    【解决方案1】:

    如果您从代码中启动/运行 exe 文件,您可以将路径变量作为参数 类似:

    $va = "我的变量" 运行("myexe.exe $var)

    或等效

    或一般来说:

    您可以通过多种方式在应用程序/进程之间共享变量

    • 使用 windows 消息查找 _WinAPI_PostMessage 函数将消息发送到特定窗口或广播消息到所有窗口,以便所有正在运行的应用程序在 autoit 中获取消息(也可以传递 2 个变量),您可以设置一个运行的函数(停止主程序)当您的 autoit 应用收到此类消息和变量时

    • 您可以设置 UDP 或 TCP 通道,以便您正在运行的应用程序可以通信(UDP 应该可以正常工作)一个应用程序作为服务器,另一个应用程序是客户端

    • 文件通信设置,将要发送的变量或信息写入文件,其他应用程序读取文件(最好结合第一种方法:应用程序'A'将数据写入文件'data.msg' 然后向应用程序'B' 发送消息,在收到消息后读取'data.msg')您可以建立复杂的协议以及确认消息等,以防您的应用程序需要它。

      李>

    _WinAPI_RegisterWindowMessage _WinAPI_PostMessage GUIRegisterMsg

    有哪些相关功能可以在autoit帮助中查找

    如果您认为其中任何一个是可行的,但您需要进一步的帮助,我可以编写一个简单的代码,在实践中证明这一点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-01
      • 2014-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 2015-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多