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

А как сделать несколько свайпов друг за другом, в промежутке от 3 до 7 раз? Т.е мне нужно свайпнуть строго 3,4,5,6 или 7 раз вниз. Вот к примеру код на свайп из 5 раз, но как из этого сделать рандом на 3-7 свайпов?

Код:
Развернуть Свернуть Копировать
            Size size = driver.Manage().Window.Size;
            Point start = new Point((int)(size.Width * 0.5), (int)(size.Height * 0.5));
            Point end = new Point((int)(size.Width * 0.5), (int)(size.Height * 0.8));
         
            driver.Swipe(start.X, start.Y, end.X, end.Y, 500);
            System.Threading.Thread.Sleep(100);
            driver.Swipe(start.X, start.Y, end.X, end.Y, 500);
            System.Threading.Thread.Sleep(100);
            driver.Swipe(start.X, start.Y, end.X, end.Y, 500);
            System.Threading.Thread.Sleep(100);
            driver.Swipe(start.X, start.Y, end.X, end.Y, 500);
            System.Threading.Thread.Sleep(100);
            driver.Swipe(start.X, start.Y, end.X, end.Y, 500);

Код:
Развернуть Свернуть Копировать
int x = new Random().Next(3,7);
for (int i = 0; i < x;i++)
{
driver.Swipe(start.X, start.Y, end.X, end.Y, 500);
}
 
  • Спасибо
Реакции: avtostopshik
Опять за помощью.
Нужно отследить элемент по wait.Until().
По xpath вылазит ошибка Failed to Dump Window Hierarchy, по id ошибки нет.
Но поиск нужен по content-desc. Как найти этот элемент не используя xpath?

И еще вопрос в Android 5+ whoer.net по webrtc показывает реальный ip (прокси настроен в Proxifier), что можно с этим сделать?
 
Добрый день!

Проблема с двойным тапом.

new Actions(driver).DoubleClick(driver.FindElement(By.Id("com.instagram.android:id/row_feed_photo_people_tagging"))).Perform();

и тд - вызывают лишь исключения

System.NotImplementedException: "Method has not yet been implemented"

метода DoubleTap уже почему-то нет в селениуме (сишарп)

Чтобы было ясно для чего - лайк в инстаграме делается двойным тапом по картинке.

Подскажите пожалуйста, кто как решает эту проблему?

Установлен апиум 3.0
Селениум 3.11.0 (новые версии также почему-то не работают)

System.TypeLoadException: "Отсутствует реализация метода "Dispose" в типе "OpenQA.Selenium.Appium.Service.AppiumCommandExecutor" из сборки "appium-dotnet-driver, Version=3.0.0.2, Culture=neutral, PublicKeyToken=null"."


Спасибо за внимание!


З.ы. лайк по кнопке лайка не предлагайте - в определенный момент возникает событие, когда сердчко лайка оказывается спрятано под кнопкой включения камеры, происходит лажа =)
Также не работает свайп до кнопки лайка (думал так сделать)

driver.FindElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).resourceId(\"Отсюда")).scrollIntoView(new UiSelector().resourceId(\"до сюда"))");

Ошибка CS1061 "AppiumDriver<AppiumWebElement>" не содержит определения для "FindElementByAndroidUIAutomator", и не удалось найти доступный метод расширения "FindElementByAndroidUIAutomator"
 
Последнее редактирование:
Отвечу сам :

Код:
Развернуть Свернуть Копировать
            driver.Tap(1, driver.FindElement(By.Id("com.instagram.android:id/row_feed_photo_people_tagging")), 50);
            driver.Tap(1, driver.FindElement(By.Id("com.instagram.android:id/row_feed_photo_people_tagging")), 50);
 
Опять за помощью.
Нужно отследить элемент по wait.Until().
По xpath вылазит ошибка Failed to Dump Window Hierarchy, по id ошибки нет.
Но поиск нужен по content-desc. Как найти этот элемент не используя xpath?
с xpath строка такая?
wait.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.XPath("//android.view.View[@content-desc='тут_текст']")));
 
  • Спасибо
Реакции: lzlmrf
с xpath строка такая?
wait.Until(ExpectedConditions.PresenceOfAllElementsLocatedBy(By.XPath("//android.view.View[@content-desc='тут_текст']")));

Да, такая. Иногда срабатывает, а иногда нет. Ошибка Dump Window Hierarchy и т.д.
Четкой зависимости появления ошибки не отследил, возможно дерево сложное получается, или android 4.4.

Соорудил циклом for проверку по FindElementsByAndroidUIAutomator, все работает.
 
Ребят, подскажите пожалуйста как такое сотворить с айфоном?
 
Мне не удалось через виртуалку с маком увидеть айфон.
кто имел опыт - прошу рассказать )
 
Кто-то реализовал связку Appium+Nox ?
Если не сложно - отпишите мне в ЛС
 
2baecc593bf1a9.png

eafd32829a79ad.png

У кого-то возникала такая проблема? Переменные все сделал, но как-то не помогло. в cmd Java видит


Привет, может у зенки свои переменные окружения? Вот в VS такое встречалось у меня..
 
Как получить в переменную текст с буфера обмена на телефоне?
Таким кодом в cmd получаю текст, а вот в переменную не получается запихнуть, подскажите пожалуйста
Код:
Развернуть Свернуть Копировать
    startInfo.Arguments = @"shell am broadcast -a clipper.get";
    startInfo.WindowStyle = ProcessWindowStyle.Hidden;
    Process.Start(startInfo).WaitForExit();
 
Как получить в переменную текст с буфера обмена на телефоне?
Таким кодом в cmd получаю текст, а вот в переменную не получается запихнуть, подскажите пожалуйста
Код:
Развернуть Свернуть Копировать
    startInfo.Arguments = @"shell am broadcast -a clipper.get";
    startInfo.WindowStyle = ProcessWindowStyle.Hidden;
    Process.Start(startInfo).WaitForExit();


Вот к примеру получаем текущий заряд батареи и ложим в переменную: (единственное неудобство, что на время запроса - появляется черное командное окно, которое исчезает сразу, но если шаблоны запущенны на основном ПК, то доставляет неудобство; не нашел вариантов как его заглушить, т.к. по сути дела это не cmd, а shell; т.е. по факту: p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; - не отрабатывает как нужно; на работоспособность не влияет, но вдруг найдете варианты как его заглушить)
PHP:
Развернуть Свернуть Копировать
var sn = project.Variables["sn"].Value;

//Получаем статус батареи
Process p = new Process();
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "adb.exe";
p.StartInfo.Arguments = @"-s "+sn+" shell dumpsys battery | grep 'level'";
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
project.Variables["battery_level"].Value = output.Trim();
 
  • Спасибо
Реакции: orka13 и SteveJobs
Кто-то реализовал связку Appium+Nox ?
Если у тебя проблема, что adb встроенный Nox`а блокирует adb стоковый(от андроида). Я для себя нашел такое решение:

1) Тебе надо узнать адрес и порт (типа 127.0.0.1:62001) nox`а через его adb
2) Закрыть (kill-server) adb nox`а
3) Запустить стоковый adb
4) Там вписать adb connect [адрес:порт] (типа 127.0.0.1:62001)
 
  • Спасибо
Реакции: Koqpe
Такая ошибка
"adb" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
 
Помогите пожалуйста, вот такая шляпа. Эмулятор memu, отладку включил.
 

Вложения

  • Снимок.PNG
    Снимок.PNG
    14,5 KB · Просмотры: 699
Помогите разобраться в чем дело. Запускаю Apium. Через cmd проверяю устройство(вроде все норм), Запускаю скрипт и вот такая ошибка. IP прописываю такой, как и в appium
 

Вложения

  • Снимок.PNG
    Снимок.PNG
    14,1 KB · Просмотры: 724
  • Снимок2.PNG
    Снимок2.PNG
    4,1 KB · Просмотры: 730
  • Снимок3.PNG
    Снимок3.PNG
    3,6 KB · Просмотры: 415
Node с актуальной версией appium v1.6.4
https://yadi.sk/d/AS-QajJT3JQxi3


Обновленные dll-ки актуальной версии Appium.WebDriver 3.0.0.2
Скачать: https://yadi.sk/d/GKQ6oUlv3JSePo

Мужики, остались у кого то файлы по этим ссылкам?
А то на appium.io, что версию не проверил - все идут без node.exe
 
Возродите тему!))

P.S. готов за $ купить услугу по настройке программ у меня на ПК и немного показать базовые вещи, стучите в лс. Юзеры только с репутацией.
 
Что возрождать? Тема не умирала, делайте все по инструкции, будьте внимательны, все работает...
У меня лично половина работает, половина нет, я только на сторонних ресурсах узнал, что нужно ещё JAVA устанавливать и в PATH прописывать пути(чего в статье не было указано) + с adb танцы устраивал+ как выше написали в новых версиях нет node.exe. Я не виню автора, но я только изучаю вот это все, и многое вообще не понятно, а по инструкции не всегда все работает.
 
  • Спасибо
Реакции: avtostopshik
У меня лично половина работает, половина нет, я только на сторонних ресурсах узнал, что нужно ещё JAVA устанавливать и в PATH прописывать пути(чего в статье не было указано) + с adb танцы устраивал+ как выше написали в новых версиях нет node.exe. Я не виню автора, но я только изучаю вот это все, и многое вообще не понятно, а по инструкции не всегда все работает.
скидывай по пунктам что как настраивал и как запускал, смотрю твое прошлое сообщение - нифига не понятно же, откуда скрин ошибки, какой скрипт запускаешь, с какими параметрами апиум запускаешь
я настраивал все по этой инструкции и работало, погуглить пришлось конечно
 
что нужно ещё JAVA устанавливать и в PATH прописывать пути(чего в статье не было указано)
JAVA при установке SDK по умолчанию просит, просто прочитать что нужно, как в PATH прописывать есть инструкция в стартпосте:
firefox_2018-12-27_01-22-35.png
Вы в принципе пошли по правильному пути, не можете по пунктам выполнить инструкцию:
P.S. готов за $ купить услугу по настройке программ у меня на ПК и немного показать базовые вещи, стучите в лс. Юзеры только с репутацией.
 
JAVA при установке SDK по умолчанию просит, просто прочитать что нужно, как в PATH прописывать есть инструкция в стартпосте:
Посмотреть вложение 34858
Вы в принципе пошли по правильному пути, не можете по пунктам выполнить инструкцию:
Спасибо, но я до этого уже допер гугля другие ресурсы)
У меня все работало впринципе, но только не получалось соедениться с эмулятором в зенке. Хотя uiautomatorviewer.bat опознавал эмулятор. Но я уже там так наковырял, что слабо верю, что инструкция мне какая-то поможет. Поэтому я готов заплатить $ дабы не тратить нервы.
 
Спасибо, но я до этого уже допер гугля другие ресурсы)
Мы с Вами немного о разном, я Вам говорю что эта инструкция самодостаточна и если все делать внимательно 100% рабочая.
Теперь об эмуляторах, эта инструкция написана для физического устройства, Вы мучаете эмулятор, подключите смартфон, добейтесь положительного результата, поймете как все работает. :bt:
 
Последнее редактирование:
  • Спасибо
Реакции: Master4eg

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