Appium/WinAppDriver:无法自动化 .jnlp 应用程序 - 指定的可执行文件不是此操作系统平台的有效应用程序

问题描述

我正在尝试自动化位于远程机器上的 .jnlp 应用程序。开发人员已经构建了 .bat 文件来启动 .jnlp 应用程序。 JNLP 应用程序使用 Java 来启动/打开。

我正在使用 Appium.Webdriver 来启动/自动化这些应用程序。下面是我的代码

工具:C#、Visual Studio、Appium.Webdriver、WinAppDriver、.Net 5.0、Selenium

    public const string DriverUrl = "http://127.0.0.1:4723/";
    public WindowsDriver<WindowsElement> DesktopSession;

    [TestMethod]
    public void TestMethod1()
    {
      //Start WinappDriver
      Process.Start(@"C:\Program Files (x86)\Windows Application Driver\WinappDriver.exe");
      Thread.Sleep(3000);

      // Start jnlp application
      Process.Start(@"\\<folderPath>\launch-App.bat");
      Thread.Sleep(20000);

      AppiumOptions Options = new AppiumOptions();
      Options.AddAdditionalCapability("app",@"\\<RemoteFolderPath>\JnlpApp.jnlp");           
      Options.AddAdditionalCapability("deviceName","WindowsPC");
      Options.AddAdditionalCapability("ms:waitForAppLaunch","20");
      Options.AddAdditionalCapability("appWorkingDir",@"\\<AppFolderPath>");
    
      try
      {
        DesktopSession = new WindowsDriver<WindowsElement>(new Uri(DriverUrl),Options);
        Assert.IsNotNull(DesktopSession);
      }
      catch (Exception e) 
      {
        Console.WriteLine(e.Message); 
      }
    }

异常:指定的可执行文件不是此操作系统平台的有效应用程序

注意:应用程序启动成功。但是 DesktopSession 设置为空。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...