Winappdriver 应用程序更改 PID

问题描述

我正在尝试使用 WinappDriver (acslaunch_win-64.exe) 自动一个 Windows 应用程序,它显示一个正在加载的 Java 窗口,然后打开所需的窗口,它似乎正在更改 PID,因此 Visual Studio 无法找到它一旦启动,我有以下错误“OpenQA.Selenium.WebDriverException:'无法找到具有appId的打开的应用程序窗口:C:\XXX\acslaunch_win-64.exe,和processId:19740'”

这是我的代码

using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Appium.Windows;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace AutoApp
{
    class Program
    {
        static void Main(string[] args)

        {
            WindowsDriver<WindowsElement> windowsDriver;
            AppiumOptions desideredcapabilities = new AppiumOptions();
            desideredcapabilities.AddAdditionalCapability("app",@"C:\XXX\acslaunch_win-64.exe");
            desideredcapabilities.AddAdditionalCapability("appWorkingDir",@"C:\XXX\");
            desideredcapabilities.AddAdditionalCapability("ms:waitForAppLaunch","10");
            desideredcapabilities.AddAdditionalCapability("deviceName","WindowsPC");
            windowsDriver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"),desideredcapabilities);
            

        }
    }
}

我也尝试过 try 和 catch 但我得到了相同的结果,并且它打开了两次窗户。

try
            {
                windowsDriver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"),desideredcapabilities);
            }
                       
            catch (Exception e)
              
            {
                windowsDriver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"),desideredcapabilities);
            }

我可以分配一个 PID 以始终使用该 PID 启动应用程序,或者有一种方法可以重新映射新窗口而不会出现已终止 PID 的错误

我从这种自动化开始,如果这是一个愚蠢的问题,抱歉,谢谢。

解决方法

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

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

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

相关问答

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