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

Kirillzenp

Client
Регистрация
27.02.2018
Сообщения
100
Реакции
1
Баллы
18
В той ветке уже никто не отвечает, может тут кто подскажет
Вопрос по этой статье http://zennolab.com/discussion/thre...roid-prilozhenijami-na-smartfone-iz-zp.33511/
Как продолжить код в другом C#? Это допустим первый С#
upload_2017-8-16_12-35-9-png.22827

Это второй C# (он не работает, как продолжить?)
upload_2017-8-16_12-36-20-png.22829
 

Вложения

  • upload_2018-4-22_9-49-0.png
    upload_2018-4-22_9-49-0.png
    42,8 KB · Просмотры: 715
  • upload_2018-4-22_9-52-28.png
    upload_2018-4-22_9-52-28.png
    42,5 KB · Просмотры: 661
  • upload_2018-4-22_9-52-39.png
    upload_2018-4-22_9-52-39.png
    9,8 KB · Просмотры: 696
Попробуйте поставить этот кусок во второй кубик
Посмотреть вложение 29180
Ошибка "Имя 'cap' отсутствует в текущем контексте".
При последующем добавлении этих строки
DesiredCapabilities cap = new DesiredCapabilities(); // экземпляр класса настроек
cap.SetCapability("platformName", "Android");//имя платформы
cap.SetCapability("deviceName", "xxx"); // имя девайся (абсолютно любое)
cap.SetCapability("appPackage", "xxx"); // пространство имен используемое приложением
cap.SetCapability("appActivity", "module.home.MainActivity"); // активное окно

приложение перезапускается, а нужно продолжить работу с мента прерывания
 
Последнее редактирование:
DesiredCapabilities cap = new DesiredCapabilities(); // экземпляр класса настроек
В начало второго кубика поставьте этот кусок. Не знаю будет работать или нет, попробуйте.

ап.
Я в C# не большой знаток, ориентируюсь в основном на логику)) но может получится сделать так
В первый кубик в конце поставить
Код:
Развернуть Свернуть Копировать
project.Variables["Cap"].Value = cap;

а во втором в начале
Код:
Развернуть Свернуть Копировать
DesiredCapabilities cap = project.Variables["Cap"].Value;

Соответственно переменная "Cap" должна быть создана в проекте.
 
Последнее редактирование:
Код:
Развернуть Свернуть Копировать
DesiredCapabilities cap = new DesiredCapabilities(); // экземпляр класса настроек
Сразу все SetCapability просит. Так не получится
Код:
Развернуть Свернуть Копировать
project.Variables["cap"].Value = cap;
DesiredCapabilities cap = project.Variables["cap"].Value;
это выдает такую ошибку
Компиляция кода Ошибка в действии "CS0029" "Неявное преобразование типа "string" в "OpenQA.Selenium.Remote.DesiredCapabilities" невозможно".
 
как продолжить?
Использовать project.Context для передачи объектов из одного экшена в другой. Т.к. в зенке переменные это string.

В данном случае надо "перекинуть" три объекта cap, driver и wait.

В конце первого экшена добавляем нужные объекты в project.Context.
C#:
Развернуть Свернуть Копировать
project.Context["cap"] = cap;
project.Context["driver"] = driver;
project.Context["driverWait"] = wait;

В начале нужного экшена "вытаскиваем" эти объекты.
C#:
Развернуть Свернуть Копировать
var cap = (DesiredCapabilities)project.Context["cap"];
var driver = (AndroidDriver<IWebElement>)project.Context["driver"];
var wait = (WebDriverWait)project.Context["driverWait"];
 

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