Вы очень близки, но я бы сделал несколько небольших изменений. Ваши сообщения об ошибках жалуются на две вещи - использование 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);