0
我正在尋找自動化的Windows應用程序,並研究使用什麼工具。我遇到過Appium/WinAppDriver,但不知道它到目前爲止在任何地方都有很好的使用方法....在此欣賞建議。是否有人使用Appium/WinAppDriver來自動化桌面應用程序。
我正在尋找自動化的Windows應用程序,並研究使用什麼工具。我遇到過Appium/WinAppDriver,但不知道它到目前爲止在任何地方都有很好的使用方法....在此欣賞建議。是否有人使用Appium/WinAppDriver來自動化桌面應用程序。
我正在使用WinAppDriver來自動執行WPF程序。這與Selenium非常相似,如果你有任何經驗,那麼我會建議使用WinAppDriver而不是White。你也可以使用Selenium WebDriverWait這是一個巨大的獎金。
還有一個稱爲'Inspect'的工具,它隨Windows SDK一起提供,允許您檢查類似於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();
}