2017-04-11 13 views

答えて

0

私は現在、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(); 
} 
関連する問題