Android Мобильное тестирование с Appium Selenium C# - PullRequest
0 голосов
/ 15 января 2020

Я пробовал много разных вещей с Google и You-Tube, и это то место, где я приземлился, и я не могу заставить его работать, мое подключение к Appium и эмулятору в порядке, я также проверил устройства ADB все хорошо.

Я получаю ошибку для строки driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), cap, TimeSpan.FromSeconds(180));

Вот две ошибки, которые я получаю:

"не могу преобразовать из 'System.Uri 'to' OpenQA.Selenium.Appium.Service.AppiumServiceBuilder ''

и

"не удается преобразовать из OpenQA.Selenium.Remote.DesiredCapabilities 'в' OpenQA. Selenium.DriverOptions ".

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using OpenQA.Selenium;
using OpenQA.Selenium.Appium;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Appium.Enums;
using OpenQA.Selenium.Appium.Android;

namespace UnitTestProject4
{
    [TestClass]
    public class UnitTest1
    {
        AppiumDriver<IWebElement> driver;
 [TestMethod]
    public void TestMethod1()
    {
        DesiredCapabilities cap = new DesiredCapabilities();
        cap.SetCapability("deviceName", "Pixel 3a Pie 9.0 - API 28");
        cap.SetCapability("platformVersion", "9.0");
        cap.SetCapability("udid", "emulator-5554");
        cap.SetCapability("appPackage", "org.mozilla.firefox");
        cap.SetCapability("appActivity", "org.mozilla.gecko.BrowserApp");
        cap.SetCapability("platformName", "Android");
        driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), cap, TimeSpan.FromSeconds(180));
        driver.Navigate().GoToUrl("https://www.google.com");

      }
   }
 }

1 Ответ

0 голосов
/ 15 января 2020

Вы очень близки, но я бы сделал несколько небольших изменений. Ваши сообщения об ошибках жалуются на две вещи - использование DesiredCapabilities вместо AppiumOptions и использование new Uri("http://127.0.0.1:4723/wd/hub") в качестве параметра для AndroidDriver<IWebElement>.

Для решения этих проблем - вместо DesiredCapabilities, я инициализирую AndroidDriver с AppiumOptions. Кроме того, вы должны попробовать запустить Appium через AppiumServiceBuilder() и использовать эту службу для запуска сеанса драйвера. Вы также должны указать параметр для automationName.

Вот что я всегда использую, чтобы начать новый мобильный сеанс на Android с C#:

// start appium service
var builder = new AppiumServiceBuilder();
var appiumLocalService = builder.UsingAnyFreePort().Build();
appiumLocalService.Start();

// create appium driver capabilities
var options = new AppiumOptions { PlatformName = "Android" };
options.AddAdditionalCapability("deviceName", "Pixel 3a Pie 9.0 - API 28");

// add app or appPackage / appActivity depending on preference
options.AddAdditionalCapability("appPackage", "org.mozilla.firefox");
options.AddAdditionalCapability("appActivity", "org.mozilla.gecko.BrowserApp");

options.AddAdditionalCapability("udid", "emulator-5554");
options.AddAdditionalCapability("automationName", "UiAutomator2"); // this one is important

// these are optional, but I find them to be helpful -- see DesiredCapabilities Appium docs to learn more
options.AddAdditionalCapability("autoGrantPermissions", true);
options.AddAdditionalCapability("allowSessionOverride", true);


// start the driver
var driver = new AndroidDriver<IWebElement>(appiumLocalService.ServiceUrl, options);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...