C#使用Java Access Bridge自动化Java应用程序

时间:2015-11-13 12:24:34

标签: java c# automation java-access-bridge

我有一个Java应用程序,我想自动进行测试。不幸的是,应用程序窗口只注册为SunAWTFrame,这意味着没有任何控件暴露给典型的窗口分析和自动化工具。

我的搜索引导我使用C#并在C#程序中使用Java Access Bridge DLLS来自动化它。

有没有人有这方面的经验?

Oracle为JavaAccessBridge(JAB)提供了一些DLLS来帮助解决这个问题,因为我在阅读了一些有关互联网的文章之后就明白了这一点。有一些代码示例,但我现在真的没有动摇它。通过分解,我认为这是需要实现的目标:

  1. 导入/加载/解析JAB dll
  2. 将JAB dll中的函数映射到程序中的方法/调用
  3. 让Java应用程序自动运行(启用JAB)并将其处理到我的程序
  4. 利用JAB函数控制Java应用程序
  5. 我不知道C#以及我认识Java,但这不会阻止我。

    如果有人可以提供帮助,指导,指示或任何让我开始的事情,那真的很棒。

1 个答案:

答案 0 :(得分:0)

从2019年开始,我们有一个很棒的工具AccessBridgeExplorer由Google创建和开源。这是一个非常好的凝视点,其中包含一个WindowsAccessBridgeInterop项目,该项目将几乎每个JAB API封装到面向类,.NET友好的程序集中。

值得注意的是,必须在WPF / WinForm UI线程或您自己的消息传递泵线程中调用AccessBridge.Initialize(),否则诸如AccessBridge.EnumJvms()之类的某些方法将始终返回false / empty。