У меня действительно плохое время с Appium.
Я пытаюсь создать пример для перехода на веб-страницу и взаимодействия с ее элементами с помощью c #
Он продолжает выполнять следующую последовательностьвещи:
- Перейдите на интересующую вас веб-страницу (например, https://www.google.com) и загрузите ее
- Перезагрузите веб-страницу
- Бросьте исключение
Пример сообщения об исключении:
An unknown server-side error occurred while processing the command.
Original error: Error attempting to start URI.
Original error: Error: Error executing adbExec.
Original error: 'Command 'C\:\\Users\\vemelin\\AppData\\Local\\Android\\Sdk\\platform-tools\\adb.exe -P 5037 -s RQ3004KL2K shell am start -W -a android.intent.action.VIEW -d https\://www.google.com com.android.chrome' timed out after 20000ms'; Stderr: ''; Code: 'null'
Я использую версию dotnet appium, и моя конфигурация выглядит примерно так:
var capabilities = new AppiumOptions();
capabilities.AddAdditionalCapability("deviceName", "adb:G3121");
capabilities.AddAdditionalCapability("platformName", "Android");
capabilities.AddAdditionalCapability("appPackage", "com.android.chrome");
capabilities.AddAdditionalCapability("appActivity", "com.google.android.apps.chrome.Main");
capabilities.AddAdditionalCapability("pageLoadTimeout", "180000");
void AcceptCertificate(AndroidDriver<AppiumWebElement> webdriver, string url)
{
webdriver.Navigate().GoToUrl(url);
webdriver.FindElementByAndroidUIAutomator("new UiSelector().resourceId(\"details-button\")").Click();
webdriver.FindElementByAndroidUIAutomator("new UiSelector().resourceId(\"proceed-link\")").Click();
};
var service =
new AppiumServiceBuilder()
.WithAppiumJS(new FileInfo(("C:\\Program Files\\nodejs\\node_modules\\appium\\build\\lib\\main.js")))
.UsingPort(4723)
.Build();
service.Start();
var driver = new AndroidDriver<AppiumWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), capabilities);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
// Arrange
var flow = new FlexibleApplyFlowModel(CurrentChannel, driver, _writer.WriteLine);
var jobId = AvailableJobs.GetStandardJobId();
// Act
driver.FindElementByAndroidUIAutomator(
"new UiSelector().resourceId(\"com.android.chrome:id/terms_accept\")").Click();
driver.FindElementByAndroidUIAutomator(
"new UiSelector().resourceId(\"com.android.chrome:id/negative_button\")").Click();
driver.Navigate().GoToUrl("https://www.google.com");
flow.GoToJobApplyPage(jobId);
service.Dispose();