Мой опыт работы с ZennoDroid: многопоток, восстановление данных, прокси, настройки эмулятора.

cr3c

Client
Регистрация
02.07.2018
Сообщения
46
Благодарностей
6
Баллы
8
Всем привет!

Не всегда сайт или его функционал доступны в веб интерфейсе. Когда мне нужно было реализовать функционал на андроид приложении - мой выбор пал на Zennodroid.

Пока я довольствовался 1 потоком, то все работало хорошо. Однако, когда появилась потребность в многопотоке, то пришлось провести ряд экспериментов.

С чем я столкнулся при работе с многопотоком?

Я создал примерно 10 эмуляторов. Однако всегда выбирался один и тот же эмулятор, где постоянно нужно было подставлять имя эмулятора "Запуск устройства".

115316


Для этого я реализовал взаимодействие с экшеном "Работа с листом". Туда были записаны все имена устройств. Одна строчка - одно имя. И логика была следующая: берем и удаляем одну строчку. Перемещаем ее в низ, чтобы не было повторов. Таким образом все запущенные эмуляторы будут внизу строчки. Тут рекомендую исходить от того сколько вам потоков нужно. Я всегда советую делать с запасом 5-10 штук.

Удалось разогнать свое железо максимум до 20 потоков. Дальше программа начала подвисать. Zennodroid сам по себе тяжелый и кушает много ресурсов. Эмулятор же может зависнуть и не реагировать. Для того, чтобы обезопасить себя от этого риса я всегда использую "Условие прерывание потока".


115320


Про настройку эмулятора:

115323

115322


Для удобства я переименовываю все эмуляторы в понятные значения от 1 до 30.

Рекомендую всегда выбирайть разрешение "Мобильный". Были момент, когда выходили обновления приложения и оно переставало работать в режиме "Планшет","Супер широкий экран". Также я столкнулся с следующей проблемой: я создал много эмуляторов с разрешением "мобильный", но по какой-то причине разрешение у всех было разное, а не как в настройках 720*1280*240dpi. Решение было вставить кубик с указанием разрешения экрана в начале проекта перед запуском.

По поводу производительности рекомендую смотреть исключительно по железу.

Вот так вот выглядит многопоток рабочий :ba:

115329


Где красный контур-сработал тайм аут выполнения. Бывает проще сбросит в проекте на тайм аут, чем прописать проверки на существование элемента. В данном случае работает чекер аккаунтов на информацию.

Про восстановление данных приложения:

При многопотоке не все приложения восстанавливают ваши данные. Мне пришлось реализовывать оплату через банковские приложения, которые не восстанавливают данные, а выбрасывают на авторизацию по смс. Как я ни шаманил , ничего не получалось. Выбор пал на Яндекс Пей или Яндекс Деньги.

Яндекс Деньги без проблем восстанавливают данные в отличие от Яндекс Пей, который порой выкидывает на авторизацию по почте и паролю без смс. Это можно изменить в настройках кошелька. В банковских приложениях подобной функции нет. Я пошел дальше и установил на всех эмуляторах приложения от Тинькова, Сбера и вводил данные авторизации вручную. Но всегда при многопотоке при входе в приложение был сброс и требовалось ввести смс. Если вас удовлетворяет один поток и все работает, то можно использовать любые банковские приложения.

Про прокси:

Вот такая ошибка появляется время от времени при обрыве связи или плохом прокси. И даже если нажать на кнопку "Обновить страницу", то она не обновляется. Для этого я всегда ставлю тайм-аут выполнения проекта.

С мобильными проксями у меня не задалось сразу. Не прогруз в приложении и ошибка с интернетом появлялась постоянно. Запустил ipv4 - ошибка осталась, но стала появляться реже. Все приложения разные - рекомендую делать тесты.

115330


Иногда приложение отказывается восстанавливать данные, хотя еще вчера ты с ними работал. Я решаю эту проблему полным удаление эмуляторов и созданием новых.

P.S Как реализовать многопоток самих данных, когда восстанавливаешь данные приложения? Сначала ты их сохраняешь. Я также сохраняю пути в текстовик, чтобы брать первые данные приложения и перемещать его в конец с удалением строчки из текстовика.

Всем хорошей работы. Краткое рассказал о том, с какими проблемами я столкнулся при работе с ZennoDroid. Буду рад ответить на ваши вопросы.
 
Номер конкурса статей
Двадцатый конкурс статей

Вложения

Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...

Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.

Последнее редактирование модератором:

radv

Client
Регистрация
11.05.2015
Сообщения
3 683
Благодарностей
1 866
Баллы
113
  • Спасибо
Реакции: cr3c

cr3c

Client
Регистрация
02.07.2018
Сообщения
46
Благодарностей
6
Баллы
8
Сейчас это вроде разные системы. Яндекс деньги это теперь Юмани и к яндексу мало отношения имеет.
День добрый,да все правильно.Цель стояла :найти платежку под автоматизацию.
 

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