Как щелкнуть определенный веб-элемент в Appium

введите описание изображения здесь

Нажмите на конкретный WebElement на Android с использованием Selenium и Appium, после нескольких проб я создал снимок экрана, чтобы обратиться за помощью сюда.

Я получаю ошибку NOSuch Element Exception

пожалуйста, предоставьте несколько примеров кода

Kovacic 24.07.2018 13:04

Исключение в потоке «main» org.openqa.selenium.WebDriverException: невозможно создать новый сеанс, потому что 'createSession', который принимает HttpClient, InputStream и long, не был найден или он недоступен для получения этой ошибки Пожалуйста, помогите мне, как сделать решить

chandu chandra 25.07.2018 08:46
0
2
804
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать Android uiautomatorviewer или appium Inspector, чтобы проверить свойства элемента. Зная свойства таких элементов, как resource-id, cont-desc, xpath, classname и т. д., Вы можете щелкнуть по этому элементу.

driver.findElement(By.id("your resource id)).click();
//or
driver.findElement(By.xpath("......")).click();

прочтите: Как пользоваться uiautomatorviewer и appium Inspector?

Исключение в потоке «main» org.openqa.selenium.WebDriverException: невозможно создать новый сеанс, потому что 'createSession', который принимает HttpClient, InputStream и long, не был найден или он недоступен для получения этой ошибки Пожалуйста, помогите мне, как сделать решить

chandu chandra 25.07.2018 12:14

Вы запустили свой сервер Appium?

Suban Dhyako 25.07.2018 12:28

дааа я запустил Appium Server

chandu chandra 25.07.2018 12:48

Правильно ли вы инициализировали драйвер Appium и желаемые возможности?

Suban Dhyako 25.07.2018 12:52

Возможности DesiredCapabilities = новые DesiredCapabilities (); возможности.setCapability (CapabilityType.BROWSER_NAME, ""); features.setCapability ("имя устройства", "Redmi 5A"); features.setCapability ("udid", "a20f9b347d94"); возможности.setCapability ("версия платформы", "7.1.2"); возможности.setCapability ("название платформы", "Android"); возможности.setCapability (MobileCapabilityType.APP,

chandu chandra 25.07.2018 12:55

Раньше он работал, я удалил Appium и установил последнюю версию

chandu chandra 25.07.2018 12:57

какую версию appium вы используете в настоящее время? это 1.8.1?

Suban Dhyako 25.07.2018 13:07

откройте настольное приложение Appium. Перейдите на вкладку «Продвигать». Добавьте адрес сервера в «127.0.0.1», порт сервера в «4723», отметьте «Разрешить переопределение сеанса». Запустите сервер. Используйте драйвер = новый AndroidDriver <WebElement> (новый URL ("127.0.0.1:4723/wd/hub "), заглавные буквы);. Запустите программу

Suban Dhyako 25.07.2018 13:21

Это действительно сработало? Он помечен как принятый ответ, но это предлагаемое решение для той же проблемы в другом месте, и оно не сработало ни в одном из других подобных сценариев, о которых я видел, включая мой. Я запускаю сервер через java-клиент вместо настольной версии, и я пробовал установить для возможностей "--session-override" значение true, но без разницы.

Bill Hileman 27.08.2018 17:38

Я получал ошибку «невозможно создать сеанс», упомянутую в комментарии OP, но мне удалось справиться с ней самостоятельно. После просмотра журналов я обнаружил, что передаваемый мной UDID (или что-то еще) неверен. Я ошибся, подумав, что ему нужен серийный номер. Только методом проб и ошибок я обнаружил, что ему нужны результаты команды adb devices. Это не обязательная настройка возможностей, но если вы установите ее неправильно, вы получите именно это сообщение об ошибке. Спасибо, в любом случае.

Bill Hileman 28.08.2018 13:15

Другие вопросы по теме