问题描述
我正在尝试使用 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 (将#修改为@)