Автоматизация пользовательского интерфейса с использованием Selenium c# для Windows Приложение, разработанное с помощью приложения WPF с платформой CEF - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь выполнить автоматизацию пользовательского интерфейса для приложения Windows, созданного с помощью WPF и CEF (Chromium Embedded Framework). Я не смог найти много материалов в Интернете по этому топу c.

Примечание. Приложение, которое пытается выполнить тест пользовательского интерфейса, уже запущено на windows 10, и его можно найти в свернутом виде с помощью значков в трее.

Я пытаюсь выполнить sh: 1. Откройте приложение. 2. Найдите элементы в приложении. Это фрагмент кода, который я написал, чтобы открыть приложение.

[TestMethod]
    public void TestMethod1()
    {

        ChromeOptions chromeOptions = new ChromeOptions();
        chromeOptions.BinaryLocation = "C:\\Program Files (x86)\\App\\AppClient.exe";

        System.Environment.SetEnvironmentVariable("webdriver.chrome.driver", @"C:\Users\source\repos\bin\Debug\chromedriver.exe");

      IWebDriver webDriver = new ChromeDriver(chromeOptions);
    }

Когда я запускаю это, я получаю сообщение об ошибке

Сообщение: тестовый метод WebViewPo c .UnitTest1.TestMethod1 вызвал исключение : OpenQA.Selenium.WebDriverException: неизвестная ошибка: Chrome не удалось запустить: завершился нормально. (неизвестная ошибка: файл DevToolsActivePort не существует) (Процесс, запущенный из chrome местоположения C: \ Program Files (x86) \ App \ AppClient.exe, больше не запущен, поэтому ChromeDriver предполагает, что Chrome имеет Трассировка стека: RemoteWebDriver.UnpackAndThrowOnError (Response errorResponse) RemoteWebDriver.Execute (String driverCommandToExecute, параметры Dictionary`2) RemoteWebDriver.StartSession (ICapabilities желаемыйCapabilitiesCapabilities) options, TimeSpan commandTimeout) ChromeDriver.ctor (параметры ChromeOptions) UnitTest1.TestMethod1 () строка 25

Примечание: я отредактировал некоторые расположение и имена каталога.

Было бы здорово, если бы кто-то мог Помогите с этим, и если кто-то раньше автоматизировал подобные приложения, будет здорово получить для этого код.

1 Ответ

0 голосов
/ 19 июня 2020
[TestMethod]
    public void TestMethod1()
    {

      ChromeOptions chromeOptions = new ChromeOptions();
      chromeOptions.BinaryLocation = "C:\\Program Files (x86)\\App\\AppClient.exe";

      chromeOptions.AddArguments("remote-debugging-port=port#");

      var driver = new ChromeDriver(chromeOptions);
    }

порт # - номер порта отладки приложения, которое вы пытаетесь протестировать, спросите об этом у разработчика. Спросите разработчика, нужно ли вам также добавить ключ реестра.

...