Я пытаюсь просто запустить пример C# теста калькулятора (https://github.com/Microsoft/WinAppDriver/tree/master/Samples/C%23/CalculatorTest) в Visual Studio 2017. Когда я загружаю и создаю пример, он показывает несколько строк как устаревшие;
DesiredCapabilities appCapabilities = new DesiredCapabilities();
appCapabilities.SetCapability("app", CalculatorAppId);
appCapabilities.SetCapability("deviceName", "WindowsPC");
а один - как ошибку, которую необходимо изменить;
CalculatorSession.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(1.5));
к
session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);
. Я получаю такие ошибки для каждого теста (сложение, деление, умножение, вычитание, шаблонизация), когда пытаюсь запустить их:
Test Name: Addition Test FullName: CalculatorTest.ScenarioStandard.Addition Test Source: C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\ScenarioStandard.cs : line 32 Test Outcome: Failed Test Duration: 0:00:00
Result StackTrace: at OpenQA.Selenium.Appium.AppiumDriver1..ctor(Uri remoteAddress, ICapabilities desiredCapabilities, TimeSpan commandTimeout) at OpenQA.Selenium.Appium.AppiumDriver1..ctor(Uri remoteAddress, ICapabilities desiredCapabilities) at OpenQA.Selenium.Appium.Windows.WindowsDriver`1..ctor(Uri remoteAddress, DesiredCapabilities desiredCapabilities) at CalculatorTest.CalculatorSession.Setup(TestContext context) in C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\CalculatorSession.cs:line 42 at CalculatorTest.ScenarioStandard.ClassInitialize(TestContext context) in C:\Users[user]\Downloads\WinAppDriver-master\Samples\C#\CalculatorTest\ScenarioStandard.cs:line 101 Result Message: Class Initialization method CalculatorTest.ScenarioStandard.ClassInitialize threw exception. System.TypeLoadException: System.TypeLoadException: Method 'Dispose' in type 'OpenQA.Selenium.Appium.Service.AppiumCommandExecutor' from assembly 'appium-dotnet-driver, Version=3.0.0.2, Culture=neutral, PublicKeyToken=null' does not have an implementation..
У меня Appium загружен и работает в фоновом режиме, когда я это делаю, но он выглядит как кирпич.
Я разработчик приложений на C# и действительно понятия не имею, что я делаю с Appium / WinAppDriver (мне только что сказали разобраться), и, немного посмотрев на это, я в растерянности как решить, что здесь происходит. Я не знаю, является ли это проблемой Appium, проблемой WinAppDriver или чем-то еще, и помощь будет принята с благодарностью.





Чувак, мне совсем не повезло с этими примерами, но что мне удалось сделать, так это запустить приложение из его пути к файлу и протестировать его. Мне также пришлось выяснить, что вы должны установить «Режим разработчика» в положение «Вкл» (никто вам этого не говорит!) И еще несколько вещей. Вот мои заметки, которые я сделал для себя и других разработчиков ...
Установка и запуск драйвера приложения Windows
1.Загрузите установщик драйвера приложения Windows с https://github.com/Microsoft/WinAppDriver/releases
2.Запустите установщик на машине с Windows 10, где ваше тестируемое приложение установлено и будет протестировано.
3. Установите для режима разработчика значение «Вкл.» (Пуск -> введите «Использовать функции разработчика»), откройте его и установите для параметра «Режим разработчика» значение «Вкл.».
4.Запустите WinAppDriver.exe из установочного каталога (например, C: \ Program Files (x86) \ Windows Application Driver).
Установите Win App Driver Recorder, затем запустите его. Щелкните маленький желтый прямоугольник вверху.
https://github.com/Microsoft/WinAppDriver/releases
Используя вышеизложенное, примеры становятся более понятными, но, как я уже сказал, я тестировал только приложения, в которых я могу запускать исполняемый файл из его пути к файлу ...
Решено обновлением (внутри Visual Studio) до последних бета-версий драйверов (4.0.0.4-beta) и последующим преобразованием кода для использования нового формата.
Использовать:
AppiumOptions options = new AppiumOptions();
options.AddAdditionalCapability("deviceName", "WindowsPC");
options.AddAdditionalCapability("platformName", "Windows");
options.AddAdditionalCapability("app", NotepadAppId);
session = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), options);
А не показанный
DesiredCapabilities appCapabilities = new DesiredCapabilities();