У меня проблема с TouchEvents и RemoteWebDriver. Из наших целей тестирования автоматизации мне необходимо использовать RemoteWebDriver , который работает через сервер Appium с VS Android Emulator.
Итак, после огромного времени поиска и поиска я сделал этот блок кода, что дает мне исключение.
ПРИМЕЧАНИЯ
- Этот блок кода не содержит официантов, так как он является временным блоком при расследовании проблемы, в качестве временного ожидания использовался Thread Sleep
Используемый локатор для элемента правильный, щелчок работает правильно
[TestMethod]
public void TestMethod1()
{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.SetCapability("deviceName", "donatello");
capabilities.SetCapability("platformName", "Android");
capabilities.SetCapability("udid", "169.254.190.187:5555");
capabilities.SetCapability("platfomVersion", "6.0.0");
capabilities.SetCapability("browserName", "Browser");
String baseURL = "http://127.0.0.1:";
String minorURL = "/wd/hub";
String port = "4723";
RemoteDriverWithTouchScreen driver = new RemoteDriverWithTouchScreen(new Uri(baseURL + port + minorURL), capabilities);
var touchActions = new OpenQA.Selenium.Interactions.TouchActions(driver);
driver.Navigate().GoToUrl("page_url");
touchActions
.SingleTap(driver.FindElement(By.XPath("some_locator")))
.Build()
.Perform();
}
public class RemoteDriverWithTouchScreen : RemoteWebDriver, IHasTouchScreen
{
public ITouchScreen TouchScreen => new RemoteTouchScreen(this);
public RemoteDriverWithTouchScreen(Uri url, ICapabilities cap) : base(url, cap)
{
}
}
Исключение:
OpenQA.Selenium.WebDriverException: при обработке команды произошла неизвестная ошибка на стороне сервера. Исходная ошибка: не удалось прокси. Ошибка прокси: не удалось прокси команду на удаленный сервер. Исходная ошибка: 404 - «неизвестная команда: сеанс / 5390590e73f152540d99a9623e1dd19a / actions»