4 место Управление любыми Android приложениями на смартфоне из ZP

Всю голову сломал уже, как стереть поле вебсайт? по index не ищет, а другие элементы пустые

Посмотреть вложение 43408
Если через xpath:
Находишь элемент TextView: Website поднимаешь на уровень выше ищешь внутри элемент EditText
Либо сразу ищешь TextView: Website и nextsibling будет нужный элемент
 
Камрады... Кто в теме... Не могли бы вы обновить статью!? Ибо статья (первый пост) 2х летней давности... У меня что то не получается даже стартануть по ней... Может кто помочь!? Готов отблагодарить материально (в разумных пределах).
Скоро будет. Действительно в данном топике большое количество информации устаревшее.
 
  • Спасибо
Реакции: Серёжа и udder
Камрады... Кто в теме... Не могли бы вы обновить статью!? Ибо статья (первый пост) 2х летней давности... У меня что то не получается даже стартануть по ней... Может кто помочь!? Готов отблагодарить материально (в разумных пределах).
Можешь написать в личку во сколько оцениваешь такую помощь, подумаем.
 
3 дня проект работал нормально (спам по Viber), вчера начались траблы с драйвером (см. скриншоты). Блок включения драйвера выполняется с ошибкой, любые действия после этого не выполняются. Была ли у кого-то такая проблема или может есть мысли ?
12d8314dd1c07f.png
fb0de53fc4875e.png
 
3 дня проект работал нормально (спам по Viber), вчера начались траблы с драйвером (см. скриншоты). Блок включения драйвера выполняется с ошибкой, любые действия после этого не выполняются. Была ли у кого-то такая проблема или может есть мысли ?
12d8314dd1c07f.png
fb0de53fc4875e.png
На скриншотах не вижу самого текста ошибки.
 
Вот в том то и прикол, его нет.
 
Аллилуйя!

C#:
Развернуть Свернуть Копировать
driver.FindElementByXPath("//android.widget.LinearLayout[@index='0']/android.widget.LinearLayout[@index='2']/android.view.ViewGroup[@index='2']/android.widget.EditText[@index='1']").Clear();


Всю голову сломал уже, как стереть поле вебсайт? по index не ищет, а другие элементы пустые

Посмотреть вложение 43408
 
Камрады... Кто в теме... Не могли бы вы обновить статью!? Ибо статья (первый пост) 2х летней давности... У меня что то не получается даже стартануть по ней... Может кто помочь!? Готов отблагодарить материально (в разумных пределах).
Могу помочь, сам новичок но сам собаку уже съел на этом)

Даже планировал переписать статью с новыми знаниями
 
  • Спасибо
Реакции: Zoron и AleXPrischepA
Так перепиши. ну реально нужная вещь
 
Есть проблемка следующего характера:
Эмуль Memu - proxydroid не работает, а точнее socks5 просто не работают. Выдает реальный ip
Эмуль Nox - тут proxydroid работает, но приложение которое нужно для работы - не работает Unfortunately appname has stopped

Помогите пжл решить проблему с прокси или с приложением
 
Парни, пытаюсь делать многопоток.
Использую: Visual Studio C#, реальные устройства на Android 7.1 Appium: 1.15.0-1
Нашел такую документацию.
В итоге, запустил 1 сервер Appium с дефолтными настройками.
Сделал несколько консольных приложений под каждое устройство.
В каждом консольном приложении назначил:
capabilities.SetCapability("udid", UDID); Свой udid - узнал их через adb devices
capabilities.SetCapability("systemPort", "8200"); systemPort сделал так же разные, начиная от 8200, 8201 и т.д

Запускаю Консольные приложения и все они начинают ломаться, некоторые ломаются при инициалицации driver
Некоторые, как только начинают поиск объекта по XPatch. В итоге остается рабочим только 1 девайс.
В чем может быть проблема? Шаманил и с несколькими запущенными копиями серверов Appium, изменял у них обычный порт и порт Bootstrap ничего не помогло. Все так же устройства отваливаются...
 
Парни, пытаюсь делать многопоток.
Использую: Visual Studio C#, реальные устройства на Android 7.1 Appium: 1.15.0-1
Нашел такую документацию.
В итоге, запустил 1 сервер Appium с дефолтными настройками.
Сделал несколько консольных приложений под каждое устройство.
В каждом консольном приложении назначил:
capabilities.SetCapability("udid", UDID); Свой udid - узнал их через adb devices
capabilities.SetCapability("systemPort", "8200"); systemPort сделал так же разные, начиная от 8200, 8201 и т.д

Запускаю Консольные приложения и все они начинают ломаться, некоторые ломаются при инициалицации driver
Некоторые, как только начинают поиск объекта по XPatch. В итоге остается рабочим только 1 девайс.
В чем может быть проблема? Шаманил и с несколькими запущенными копиями серверов Appium, изменял у них обычный порт и порт Bootstrap ничего не помогло. Все так же устройства отваливаются...
Запусти несколько appium серверов. Тоже было такое
 
  • Спасибо
Реакции: anarbus
Запусти несколько appium серверов. Тоже было такое
Сделал несколько Appium серверов под каждое устройство.
И похоже нашел проблему из за которой они отваливались, это одновременное выполнение adb команд.

Команды выполняю вот так в методе:
C#:
Развернуть Свернуть Копировать
ProcessStartInfo startClear = new ProcessStartInfo();
            startInfo1.FileName = @"C:\ADB\adb.exe";

            startClear.Arguments = @"-s " + UDID + " shell pm clear " + arguments;
            startClear.WindowStyle = ProcessWindowStyle.Hidden;   //скрываем окно выполнения
            Process.Start(startClear).WaitForExit();   //запускаем процесс и дожидаемся выполнения
            System.Threading.Thread.Sleep(2000);

Ну и так как я запускаю скрипты одновременно, везде стартует adb и выполняется данный код, и девайсы отваливаются.
Похоже копии adb не в состоянии работать одновременно.

Не подскажете, как его выполнять более правильно? Можно сделать нормальный многопоток с блокировкой этого участка кода для других потоков, но тогда на это будет затрачиваться множество времени.
Может как то можно обращаться к 1 экземпляру adb из всех приложений?
 
Сделал несколько Appium серверов под каждое устройство.
И похоже нашел проблему из за которой они отваливались, это одновременное выполнение adb команд.

Команды выполняю вот так в методе:
C#:
Развернуть Свернуть Копировать
ProcessStartInfo startClear = new ProcessStartInfo();
            startInfo1.FileName = @"C:\ADB\adb.exe";

            startClear.Arguments = @"-s " + UDID + " shell pm clear " + arguments;
            startClear.WindowStyle = ProcessWindowStyle.Hidden;   //скрываем окно выполнения
            Process.Start(startClear).WaitForExit();   //запускаем процесс и дожидаемся выполнения
            System.Threading.Thread.Sleep(2000);

Ну и так как я запускаю скрипты одновременно, везде стартует adb и выполняется данный код, и девайсы отваливаются.
Похоже копии adb не в состоянии работать одновременно.

Не подскажете, как его выполнять более правильно? Можно сделать нормальный многопоток с блокировкой этого участка кода для других потоков, но тогда на это будет затрачиваться множество времени.
Может как то можно обращаться к 1 экземпляру adb из всех приложений?
У тебя скорее всего проблема не с запуском adb.
adb при запуске создает процесс сервера и он висит в процессах.
При повторном запуске adb не создает новый процесс сервера.
Скорее всего у тебя эмуляторы запускают свои версии adb при активации.
А затем ты запускаешь свой adb другой версии и соединения отваливаются.
 
  • Спасибо
Реакции: anarbus
У тебя скорее всего проблема не с запуском adb.
adb при запуске создает процесс сервера и он висит в процессах.
При повторном запуске adb не создает новый процесс сервера.
Скорее всего у тебя эмуляторы запускают свои версии adb при активации.
А затем ты запускаешь свой adb другой версии и соединения отваливаются.

Да действительно разной версии ADB, спасибо за наводку.

Не подскажете как Appium указать какой adb необходимо использовать?
 
Да действительно разной версии ADB, спасибо за наводку.

Не подскажете как Appium указать какой adb необходимо использовать?
В каталоге эмулятора замени все файлы которые содержат в себе название adb на свои обновленные файлы.
Там 1 или 2 exe файла и 2 dll файла.
 
  • Спасибо
Реакции: anarbus
В каталоге эмулятора замени все файлы которые содержат в себе название adb на свои обновленные файлы.
Там 1 или 2 exe файла и 2 dll файла.
Извини, если туплю)


Но я использую Appium с реальными девайсами.
В прошлый раз у меня была проблема в том, что при использовании ADB команд я указывал путь до другого ADB.
Сейчас я указываю путь к одному ADB. Я помню, что при установке Appium нужно было указывать путь до ADB, если ничего не путаю.
Но сейчас у меня 1 ADB, а в Appium иногда появляются ошибки, что я, использую ADB разных версий (40 и 41). Но откуда взяться еще 1 ADB, я не понимаю, вот и спрашиваю: Может в Appium где то свой ADB находится? Папку перерыл в ней ни каких exe, только json с именем adb
 
Извини, если туплю)


Но я использую Appium с реальными девайсами.
В прошлый раз у меня была проблема в том, что при использовании ADB команд я указывал путь до другого ADB.
Сейчас я указываю путь к одному ADB. Я помню, что при установке Appium нужно было указывать путь до ADB, если ничего не путаю.
Но сейчас у меня 1 ADB, а в Appium иногда появляются ошибки, что я, использую ADB разных версий (40 и 41). Но откуда взяться еще 1 ADB, я не понимаю, вот и спрашиваю: Может в Appium где то свой ADB находится? Папку перерыл в ней ни каких exe, только json с именем adb
appium не содержит своего adb. Он просит указать путь в переменных окружения к android-sdk, там находится adb.
Возможно у тебя с драйверами к телефону установился куда-то другой adb. Посмотри пути в процессах системы.
 
  • Спасибо
Реакции: anarbus
Возможно это осуществить на iOS?
 
  • Спасибо
Реакции: sambukanuka
Подскажите пожалуйста, что можно сделать с этой ошибкой?
44061
 
  • Спасибо
Реакции: Linnker
Подскажите пожалуйста, как клацнуть по элементу, если известна его часть (Nov 21)?
Безымянный.png
 
Подскажите пожалуйста, как клацнуть по элементу, если известна его часть (Nov 21)?
C#:
Развернуть Свернуть Копировать
driver.FindElementByXPath("//android.widget.LinearLayout[contains(@content-desc, 'Nov 21')]").Click();
 
  • Спасибо
Реакции: Donalddick и Linnker
добрый день. пытаюсь добавить в проект библиотеки из поста https://zennolab.com/discussion/thr...henijami-na-smartfone-iz-zp.33511/post-281052, но почему то две из них не добавляются. эта WebDriver.Support.dll и вот эта appium-dotnet-driver.dll . в логах пишет, мол они не являются .Net сборкой или невозможно получить доступ к сборке. в чем может причина быть?

UPD. даунгрэйднул зенку до версии 5.9.8.1 и все добавилось)
 
Последнее редактирование:
  • Спасибо
Реакции: volody00
Фууух, наконец все настроил) Может не совсем в тему вопрос, но когда цепляюсь к приложухе через капабилити appackage и appactivity, приложуха постоянно слетает. т.е. приложение запускается, но каждый раз все данные внутри сбрасываются, приложение тупит, зачастую вылетает, периодически не подгружает данные и т.д. Есть идеи в чем может быть дело? можно как-то запустить просто эмулятор без appactivity и appackage, и кликнуть по иконке на рабочем столе?
 
можно как-то запустить просто эмулятор без appactivity и appackage
Можно, нужно найти activity "рабочего стола" и кликнуть на иконку, но Вы скорей всего не правильно выбрали стартовое activity нужного Вам приложения.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)