0
私はWindowsアプリケーションを自動化し、どのツールを使うべきかを研究しています。私はAppium/WinAppDriverに出くわしましたが、今のところどこでも良い使い方があるかどうかはわかりません。これについての提案を感謝します。デスクトップアプリケーションを自動化するためにAppium/WinAppDriverを使用した人はいますか?
私はWindowsアプリケーションを自動化し、どのツールを使うべきかを研究しています。私はAppium/WinAppDriverに出くわしましたが、今のところどこでも良い使い方があるかどうかはわかりません。これについての提案を感謝します。デスクトップアプリケーションを自動化するためにAppium/WinAppDriverを使用した人はいますか?
私は現在、WinAppDriverを使用してWPFプログラムを自動化しています。 Seleniumと非常によく似ています。経験があれば、WhiteのようなものでWinAppDriverを使うことをお勧めします。また、大規模なボーナスだったSelenium WebDriverWaitを使用することもできます。
Windows SDKに付属する「Inspect」ツールもあります。このツールを使用すると、Webブラウザの開発ツールと同様のWindowsアプリケーションを検査できます。
ドライバを起動するだけで(Seleniumに似ています)、WinAppプロセスも起動する必要があります。
C#の例:
protected WindowsDriver<WindowsElement> GetWindowsDriver()
{
var appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability("app",
PathHelper.GetClientInstallPath() + "APPLICATION.exe");
appCapabilities.SetCapability("deviceName", "WindowsPC");
if (!IsWinAppDriverProcesssRunning())
{
StartWinAppProcessRunning();
}
var driver = new WindowsDriver<WindowsElement>(new Uri("http://127.0.0.1:4723"), appCapabilities);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
return driver;
}
private static bool IsWinAppDriverProcesssRunning()
{
const string processName = "WinAppDriver";
var existingProcesses = Process.GetProcessesByName(processName);
return existingProcesses.Any();
}
private static void StartWinAppProcessRunning()
{
const string winAppDirectory = @"C:\Program Files (x86)\Windows Application Driver";
var winAppProcess =
new Process
{
StartInfo =
{
FileName = Path.Combine(winAppDirectory, "WinAppDriver.exe"),
WindowStyle = ProcessWindowStyle.Hidden,
WorkingDirectory = winAppDirectory
}
};
winAppProcess.Start();
}