Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#使用Java访问桥自动化Java应用程序_Java_C#_Automation_Java Access Bridge - Fatal编程技术网

C#使用Java访问桥自动化Java应用程序

C#使用Java访问桥自动化Java应用程序,java,c#,automation,java-access-bridge,Java,C#,Automation,Java Access Bridge,我有一个Java应用程序,我想自动进行测试。不幸的是,app窗口只注册为SunAWTFrame,这意味着没有一个控件暴露于典型的窗口分析和自动化工具中 我的搜索让我找到了C#,并在C#程序中利用Java访问桥DLL实现自动化 有人有过这样的经历吗 Oracle为JavaAccessBridge(JAB)提供了一些DLL来帮助实现这一点,因为我在阅读了互联网上的一些文章后了解到了这一点。这里有一些代码示例,但我现在并不是在摸索。通过分解,我认为这就是需要实现的目标: 导入/加载/解析JAB DLL

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

我的搜索让我找到了C#,并在C#程序中利用Java访问桥DLL实现自动化

有人有过这样的经历吗

Oracle为JavaAccessBridge(JAB)提供了一些DLL来帮助实现这一点,因为我在阅读了互联网上的一些文章后了解到了这一点。这里有一些代码示例,但我现在并不是在摸索。通过分解,我认为这就是需要实现的目标:

  • 导入/加载/解析JAB DLL
  • 将JAB dll中的函数映射到程序中的方法/调用
  • 让Java应用程序自动运行(启用JAB)并将其处理到我的程序中
  • 利用JAB函数控制Java应用程序
  • 我对C#的了解不如对Java的了解,但这并不能阻止我


    如果有人能为我提供帮助、指导、指点或任何东西,那就太棒了。

    从2019年起,我们有一个由谷歌创建的开源工具。这是一个非常好的起点,它包含一个
    WindowsAccessBridgeInterop
    项目,该项目将几乎所有JAB API封装到一个面向类的.NET友好程序集中

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

    我发现获取Java小程序标签非常有用。但是仍然存在无法处理和自动化与Javaapplet交互的问题。是否有任何选项可以使用此AccessBridge或将其与UI自动化或其他功能集成并执行自动化?