def get_journal_state(node_wnd_journal): if get_node_child(node_wnd_journal, wnd_quests, False).exists(): return js_quests if get_node_child(node_wnd_journal, wnd_legends, False).exists(): return js_legends if get_node_child(node_wnd_journal, wnd_goods, False).exists(): return js_goods if get_node_child(node_wnd_journal, wnd_status, False).exists(): return js_status if get_node_child(node_wnd_journal, wnd_stats, False).exists(): return js_stats return js_unknow
def test_reward_packages(poco, dev, row0, row1): # ## tood: вынести в отдельную функцию i = row0 while i <= row1: time.sleep(1) # это обновляем постоянно node = wait_for_node_visible(poco, dr_wnd, 5) if not node.exists(): out('Window not showed', dr_wnd) return False node = get_node_child(node, content) lst_days = node.child() # в общемто тут все элементы надо получать заново lst_rewards = lst_days[i].child('Rewards') ii = 0 for btn in lst_rewards.child(): out('touch reward[' + str(i) + '][' + str(ii) + ']') touch_center(dev, btn) time.sleep(1) node = wait_for_node_visible(poco, back_descr_bg, 0) if node.exists(): touch_center(dev, wait_for_node_visible(poco, back_btn, 5)) ii = ii + 1 i = i + 1 return True
def test_journal_stats(dev, poco): node_wnd_journal = wait_for_node_visible(poco, wnd_journal, 2) if not node_wnd_journal.exists(): out('Window not showed', wnd_journal) return False if get_journal_state(node_wnd_journal) != js_stats: out('переходим во вкладку статистики') touch_center(dev, get_node_child(node_wnd_journal, btn_stats)) time.sleep(1) # получаем заново, т.к. сцена обновилась node_wnd_journal = wait_for_node_visible(poco, wnd_journal, 2) if not node_wnd_journal.exists(): out('Window not showed', wnd_journal) return False if get_journal_state(node_wnd_journal) != js_stats: out('не перешли во вкладку статистики', '') return False ### ------------------------------------------------------------ # тут тестов по сути нет, просто переход на вкладку return True
def test_swipe_reward_packages(poco, row_from, row_to): node = wait_for_node_visible(poco, dr_wnd, 5) if not node.exists(): out('Window not showed', dr_wnd) return False node = get_node_child(node, content) lst_days = node.child() out('свайпаем экран с колонки ' + str(row_from + 1) + ' до колонки ' + str(row_to + 1)) lst_days[row_from].drag_to(lst_days[row_to]) return True
def test_journal_legends(dev, poco): node_wnd_journal = wait_for_node_visible(poco, wnd_journal, 2) if not node_wnd_journal.exists(): out('Window not showed', wnd_journal) return False if get_journal_state(node_wnd_journal) != js_legends: out('переходим во вкладку легенд') touch_center(dev, get_node_child(node_wnd_journal, btn_legends)) time.sleep(1) # получаем заново, т.к. сцена обновилась node_wnd_journal = wait_for_node_visible(poco, wnd_journal, 2) if not node_wnd_journal.exists(): out('Window not showed', wnd_journal) return False if get_journal_state(node_wnd_journal) != js_legends: out('не перешли во вкладку легенд', '') return False ### ------------------------------------------------------------ node_legends_list = get_node_child(node_wnd_journal, wnd_legends) # перебераем всё по замороженной структуре i = 0 for node_quest in node_legends_list.child(): if node_quest.attr('type') == 'Button': i = i + 1 out('legend[' + str(i) + ']: ' + node_quest.attr('text')) touch_center(dev, node_quest) time.sleep(0.5) # новый экземпляр ибо опять всё обновилось # journal = wait_for_node_visible(poco, wnd_journal, 2) # node = get_node_child(journal, wnd_descr) # out('quest descr: ' + node.attr('text')) return True
def my_swipe(dev, poco, path_root, subpath_from, subpath_to): node_root = wait_for_node_visible(poco, path_root) if not node_root.exists(): out('not ready to swipe, can\'t find node', path_root) return False node_from = get_node_child(node_root, subpath_from) if not node_from.exists(): out('not ready to swipe, can\'t find node', path_root + '/' + node_from) return False pos_from = pos_center(dev, node_from) node_to = get_node_child(node_root, subpath_to) if not node_to.exists(): out('not ready to swipe, can\'t find node', path_root + '/' + node_to) return False pos_to = pos_center(dev, node_to) swipe(pos_from, pos_to, duration=2) return True
def test_journal_status(dev, poco): btn_hawk = 'HAWK' btn_baran = 'BARAN' btn_spider = 'SPIDER' btn_rabbit = 'RABBIT' btn_snake = 'SNAKE' node_wnd_journal = wait_for_node_visible(poco, wnd_journal, 2) if not node_wnd_journal.exists(): out('Window not showed', wnd_journal) return False if get_journal_state(node_wnd_journal) != js_status: out('переходим во вкладку статуса игрока') touch_center(dev, get_node_child(node_wnd_journal, btn_status)) time.sleep(1) # получаем заново, т.к. сцена обновилась node_wnd_journal = wait_for_node_visible(poco, wnd_journal, 2) if not node_wnd_journal.exists(): out('Window not showed', wnd_journal) return False if get_journal_state(node_wnd_journal) != js_status: out('не перешли во вкладку статуса игрока', '') return False ### ------------------------------------------------------------ node_wnd_status = get_node_child(node_wnd_journal, wnd_status) touch_center(dev, get_node_child(node_wnd_status, btn_hawk)) time.sleep(0.5) touch_center(dev, get_node_child(node_wnd_status, btn_baran)) time.sleep(0.5) touch_center(dev, get_node_child(node_wnd_status, btn_spider)) time.sleep(0.5) touch_center(dev, get_node_child(node_wnd_status, btn_rabbit)) time.sleep(0.5) touch_center(dev, get_node_child(node_wnd_status, btn_snake)) time.sleep(0.5) return True
def run_test_faction(dev, poco): out("нажимаем кнопку Fraction") node = wait_for_node_visible(poco, btn_faction, 5) if not node.exists(): out('Button not showed', btn_faction) return False touch_center(dev, node) time.sleep(1) # проверочка node_wnd_faction = wait_for_node_visible(poco, wnd_faction, 2) if not node_wnd_faction.exists(): out('Window not showed', wnd_faction) return False ### --------------------------------------- node_lst = get_node_child(node_wnd_faction, _faction_lst) if not node_lst.exists(): out('Window not showed', node_lst) return False for item in node_lst.child(): touch_center(dev, item) time.sleep(0.5) ### --------------------------------------- out('нажимаем кнопку выхода из окна выбора фракции') node = wait_for_node_visible(poco, btn_back, 5) if not node.exists(): out('Button not showed', btn_back) return False touch_center(dev, node) time.sleep(1) return True
def run_test(dev, poco): path_back = 'H_Canvas/USER_Main_UI/BACK_BUTTON_MOBILE' path_map = 'H_Canvas/USER_Main_UI/SWITCH_TO_MAP/Button_exit' # path_map = 'H_Canvas/USER_Main_UI/MAP_ADDON/SWITCH_TO_WORLD' path_quests_menu = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_qwest' # path_quests_menu_lst = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg' path_quest_10 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (9)' path_accept_qst = 'H_Canvas/USER_Main_UI/EVENT_REVARD/Avr_paper/Avr_Accept' #path_cancel_qst = 'H_Canvas/USER_Main_UI/EVENT_REVARD/Avr_paper/Avr_Decline' path_event_reward = 'H_Canvas/USER_Main_UI/EVENT_REVARD' ### --------------------------------------- if not go_to_academia(dev, poco): return False time.sleep(1) ### --------------------------------------- # идем в меню выбора квеста # out('нажимаем кнопку квестов') if not wait_and_click_button(dev, poco, path_quests_menu): return False # тыкаем первый квест if not wait_and_click_button(dev, poco, path_quest_10): return False # тыкаем принять if not wait_and_click_button(dev, poco, path_accept_qst): return False # тыкаем 'умения капитана' path_node = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_Xp_captain' if not wait_and_click_button(dev, poco, path_node): return False time.sleep(1); # сообщение 'выбрать умение чтобы его изучить' node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'выбрать умение чтобы его изучить') return False if not wait_and_click_button(dev, poco, path_back): return False time.sleep(1); # пробежимся по всем скилам path_root_skills = 'H_Canvas/USER_Main_UI/CONFIG_SKILLS' path_learn = 'H_Canvas/USER_Main_UI/CONFIG_SKILLS/Learn(Clone)' subpath_skills = ['Some Skill', 'Some Skill (14)', \ 'Some Skill (1)', 'Some Skill (15)', \ 'Some Skill (6)', 'Some Skill (20)', \ 'Some Skill (3)', 'Some Skill (17)', \ 'Some Skill (4)', 'Some Skill (18)', \ 'Some Skill (5)', 'Some Skill (19)'] node_root_skills = wait_for_node_visible(poco, path_root_skills, 5) if not node_root_skills.exists(): out('долгое ожидание ноды списка', path_root_skills) return False for subpath in subpath_skills: # node = wait_for_node_visible(poco, path_root_skills + '/' + subpath) node = get_node_child(node_root_skills, subpath) if not node.exists(): out('скилл не найден', path_root_skills + ' ' + subpath) return False touch_center(dev, node) # snapshot() time.sleep(0.5); # тыкаем "изучить" if not wait_and_click_button(dev, poco, path_learn): return False time.sleep(2); # сообщение "вот ваша награда" node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', '"вот ваша награда"') return False if not wait_and_click_button(dev, poco, path_back): return False ### --------------------------------------- out('нажимаем кнопку выхода из города на карту') node = wait_for_node_visible(poco, path_map, 5) if not node.exists(): out('Button not showed', path_map) return False touch_center(dev, node) time.sleep(1) return True
def run_test(dev, poco, big_test=False): path_back = 'H_Canvas/USER_Main_UI/BACK_BUTTON_MOBILE' path_map = 'H_Canvas/USER_Main_UI/SWITCH_TO_MAP/Button_exit' # path_map = 'H_Canvas/USER_Main_UI/MAP_ADDON/SWITCH_TO_WORLD' path_quests_menu = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_qwest' # wnd_quests_menu_lst = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg' path_quest_6 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (5)' path_quest_7 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (6)' path_spec_pirate = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/SPEC_Panel/SPEC_pirate' path_accept_qst = 'H_Canvas/USER_Main_UI/EVENT_REVARD/Avr_paper/Avr_Accept' path_cancel_qst = 'H_Canvas/USER_Main_UI/EVENT_REVARD/Avr_paper/Avr_Decline' path_event_reward = 'H_Canvas/USER_Main_UI/EVENT_REVARD' ### --------------------------------------- if not go_to_academia(dev, poco): return False time.sleep(1) ### --------------------------------------- # идем в меню выбора квеста # out('нажимаем кнопку квестов') if not wait_and_click_button(dev, poco, path_quests_menu): return False # тыкаем первый квест if not wait_and_click_button(dev, poco, path_quest_6): return False # тыкаем принять if not wait_and_click_button(dev, poco, path_accept_qst): return False # нажимаем кнопку выхода из города на карту node = wait_for_node_visible(poco, path_map, 5) if not node.exists(): out('Button not showed', path_map) return False touch_center(dev, node) time.sleep(1) # поплыли на жанетту path = 'T_GLOBAL_MAP/EPTown_Janetta' node = wait_for_node_visible(poco, path, 5) touch_center(dev, node) # ''' user_main_ui = 'H_Canvas/USER_Main_UI' fights = [ 'NEW_FIGHT/AUTOFIGHT', 'NEW_FIGHT (1)/AUTOFIGHT', 'NEW_FIGHT (2)/AUTOFIGHT' ] f_exit = False i = 50 while not f_exit: i -= 1 if i < 0: out('долгое ожидание сообщения', 'корабль достаточно потрепало...') return False node = wait_for_node_visible(poco, user_main_ui) wnd_reward = get_node_child(node, 'EVENT_REVARD', False) if wnd_reward.exists(): # по идее дождались сообщения о повреждённости корабля out('корабль достаточно потрепало...') if not wait_and_click_button(dev, poco, path_back): return False f_exit = True else: touched = False for fight in fights: node_fight = get_node_child(node, fight, False) if node_fight.exists() and not touched: out('автобой... ' + fight) touch_center(dev, node_fight) touched = True if not f_exit: time.sleep(0.5) state = find_current_state(poco) while state != State.TOWN: out('ждём Жанетту (3 sec)') time.sleep(3) state = find_current_state(poco) # ''' # идем в меню выбора квеста out('нажимаем кнопку квестов') if not wait_and_click_button(dev, poco, path_quests_menu): return False # чинимся за счёт пиратов out('чинимся за счёт пиратов') if not wait_and_click_button(dev, poco, path_spec_pirate): return False # сообщение "вот ваша награда" node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', '"вот ваша награда"') return False if not wait_and_click_button(dev, poco, path_back): return False out('нажимаем кнопку выхода из города на карту') node = wait_for_node_visible(poco, path_map, 5) if not node.exists(): out('Button not showed', path_map) return False touch_center(dev, node) time.sleep(1) out('плывём в академию') if not go_to_academia(dev, poco): return False time.sleep(2) if big_test: # идем в меню выбора квеста if not wait_and_click_button(dev, poco, path_quests_menu): return False # тыкаем третий квест if not wait_and_click_button(dev, poco, path_quest_7): return False # тыкаем отменить if not wait_and_click_button(dev, poco, path_cancel_qst): return False # тыкаем назад из меню квестов if not wait_and_click_button(dev, poco, path_back): return False ### --------------------------------------- out('нажимаем кнопку выхода из города на карту') node = wait_for_node_visible(poco, path_map, 5) if not node.exists(): out('Button not showed', path_map) return False touch_center(dev, node) time.sleep(1) return True
def run_test_tutorial_2(dev, poco, big_test=False): btn_back = 'H_Canvas/USER_Main_UI/BACK_BUTTON_MOBILE' btn_map = 'H_Canvas/USER_Main_UI/SWITCH_TO_MAP/Button_exit' # btn_map = 'H_Canvas/USER_Main_UI/MAP_ADDON/SWITCH_TO_WORLD' btn_quests_menu = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_qwest' # wnd_quests_menu_lst = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg' btn_quest_2 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (1)' btn_quest_3 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (2)' btn_accept_qst = 'H_Canvas/USER_Main_UI/EVENT_REVARD/Avr_paper/Avr_Accept' btn_cancel_qst = 'H_Canvas/USER_Main_UI/EVENT_REVARD/Avr_paper/Avr_Decline' wnd_event_reward = 'H_Canvas/USER_Main_UI/EVENT_REVARD' ### --------------------------------------- if not go_to_academia(dev, poco): return False time.sleep(1) ### --------------------------------------- # идем в меню выбора квеста # out('нажимаем кнопку квестов') if not wait_and_click_button(dev, poco, btn_quests_menu): return False # тыкаем первый квест if not wait_and_click_button(dev, poco, btn_quest_2): return False # тыкаем принять if not wait_and_click_button(dev, poco, btn_accept_qst): return False # тыкаем 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_team' btn_team = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_team' if not wait_and_click_button(dev, poco, btn_team): return False # сообщение "Сначала наймем команду" node = wait_for_node_visible(poco, wnd_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'нет сообщения "Сначала наймем команду"') return False if not wait_and_click_button(dev, poco, btn_back): return False # тыкаем 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/TeamManageShipMobile/ScrollingPanel/TavernButton' btn_tavern = 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/'\ +'TeamManageShipMobile/ScrollingPanel/TavernButton' if not wait_and_click_button(dev, poco, btn_tavern): return False # сообщение "Найми 7 салаг." node = wait_for_node_visible(poco, wnd_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'нет сообщения "Найми 7 салаг."') return False if not wait_and_click_button(dev, poco, btn_back): return False # тыкаем 7 раз на салагу "+" # 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/TeamManageShipMobile/ScrollingPanel/TavernButton' btn_crewman_hire_0 = 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/'\ +'TeamManageTavernMobile/TavernBgImage/Crewman_Hire_0/ActionButton' i = 7 while i > 0: if not wait_and_click_button(dev, poco, btn_crewman_hire_0): return False i -= 1 # тыкаем кнопку назад if not wait_and_click_button(dev, poco, btn_back): return False # сообщение "перетащите 2х матросов на паруса" node = wait_for_node_visible(poco, wnd_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'перетащите 2х матросов на паруса') return False if not wait_and_click_button(dev, poco, btn_back): return False # подготавливаемся к свайпам sn_tmp = 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/'\ +'TeamManageShipMobile/ScrollingPanel/ShipDecks' sn_parus = 'ParuDeck/CrewmanDeck_Paru_3' sn_aboard = 'AboardDeck/CrewmanDeck_Aboard_3' sn_cannon = 'CanonDeck/CrewmanDeck_Canon_3' sn_from = 'AboardDeck/CrewmanDeck_Aboard_0' node_tmp = wait_for_node_visible(poco, sn_tmp, 5) pos_parus = get_node_child(node_tmp, sn_parus).attr('pos') pos_aboard = get_node_child(node_tmp, sn_aboard).attr('pos') pos_cannon = get_node_child(node_tmp, sn_cannon).attr('pos') pos_abs_from = pos_center(dev, get_node_child(node_tmp, sn_from)) # перетаскиваем 2х матросов на паруса vec = [0, pos_parus[1] - pos_aboard[1]] print('vector ', pos_abs_from, vec) swipe(pos_abs_from, vector=vec, duration=3) sleep(1) swipe(pos_abs_from, vector=vec, duration=3) sleep(1) # сообщение "перетащите 2х матросов на паруса" node = wait_for_node_visible(poco, wnd_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'перетащите 2х матросов на пушки') return False if not wait_and_click_button(dev, poco, btn_back): return False # перетаскиваем 2х матросов на пушки vec = [0, pos_cannon[1] - pos_aboard[1]] print('vector ', pos_abs_from, vec) swipe(pos_abs_from, vector=vec, duration=3) sleep(1) swipe(pos_abs_from, vector=vec, duration=3) sleep(1) # сообщение "больше матросов на палубе, больше эффективность" node = wait_for_node_visible(poco, wnd_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'больше матросов на палубе, больше эффективность') return False if not wait_and_click_button(dev, poco, btn_back): return False # тыкаем на кнопку "Раненые" btn_med = 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/'\ +'TeamManageShipMobile/ScrollingPanel/MedbayButton' if not wait_and_click_button(dev, poco, btn_med): return False # тыкаем на кнопку "лечить матроса" btn_med = 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/'\ +'TeamManageShipMobile/ScrollingPanel/ShipDecks/'\ +'Medbay/Crewman_Wounded_1/ActionButton' if not wait_and_click_button(dev, poco, btn_med): return False # сообщение "про офицеров, выбрать" node = wait_for_node_visible(poco, wnd_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'про офицеров, выбрать') return False if not wait_and_click_button(dev, poco, btn_back): return False # тыкаем на кнопку "слот офицера 1" btn_med = 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/'\ +'TeamManageShipMobile/ScrollingPanel/RightPanel/'\ +'DeckStats_Paru/BorderImage/OfficerSlotsPanel/OfficerSlot1' if not wait_and_click_button(dev, poco, btn_med): return False # тыкаем на кнопку "боцман" btn_med = 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/'\ +'TeamManageShipMobile/OfficersWindow/BgImage/'\ +'BorderImage/SlotsPanel/OfficerSlot1' if not wait_and_click_button(dev, poco, btn_med): return False # тыкаем на кнопку "назначить" btn_med = 'H_Canvas/USER_Main_UI/CONFIG_TEAM_MOBILE/'\ +'TeamManageShipMobile/OfficersWindow/BgImage/'\ +'BorderImage/ActionButton(Clone)' if not wait_and_click_button(dev, poco, btn_med): return False time.sleep(2); # сообщение "вот ваша награда" node = wait_for_node_visible(poco, wnd_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', '"вот ваша награда"') return False if not wait_and_click_button(dev, poco, btn_back): return False if big_test: # идем в меню выбора квеста if not wait_and_click_button(dev, poco, btn_quests_menu): return False # тыкаем третий квест if not wait_and_click_button(dev, poco, btn_quest_3): return False # тыкаем отменить if not wait_and_click_button(dev, poco, btn_cancel_qst): return False # тыкаем назад из меню квестов if not wait_and_click_button(dev, poco, btn_back): return False ### --------------------------------------- out('нажимаем кнопку выхода из города на карту') node = wait_for_node_visible(poco, btn_map, 5) if not node.exists(): out('Button not showed', btn_map) return False touch_center(dev, node) time.sleep(1) return True
def test_journal_goods(dev, poco): node_btn_back = wait_for_node_visible(poco, btn_back, 2) wnd_goods_opt = wnd_journal + '/' + wnd_goods node_wnd_journal = wait_for_node_visible(poco, wnd_journal, 2) if not node_wnd_journal.exists(): out('Window not showed', wnd_journal) return False if get_journal_state(node_wnd_journal) != js_goods: out('переходим во вкладку имущества') touch_center(dev, get_node_child(node_wnd_journal, btn_goods)) time.sleep(1) # получаем заново, т.к. сцена обновилась node_wnd_journal = wait_for_node_visible(poco, wnd_journal, 2) if not node_wnd_journal.exists(): out('Window not showed', wnd_journal) return False if get_journal_state(node_wnd_journal) != js_goods: out('не перешли во вкладку имущества', '') return False ### ------------------------------------------------------------ node_wnd_goods = wait_for_node_visible(poco, wnd_goods_opt, 2) node_btn_trum = get_node_child(node_wnd_goods, 'Trum') # node_btn_sklads = get_node_child(node_wnd_goods, 'Sklads') # node_btn_WhereToBuy = get_node_child(node_wnd_goods, 'WhereToBuy') # out('click:' + node_btn_trum.attr('text')) touch_center(dev, node_btn_trum) node_wnd_goods = wait_for_node_visible(poco, wnd_goods_opt, 2) items = node_wnd_goods.offspring('Towars') if len(items) > 0: i = 0 for item in items: i = i + 1 if i < 3: touch_center(dev, item) time.sleep(0.5) touch_center(dev, node_btn_back) time.sleep(0.5) else: out('trum list is empty') ### ------------------------------------------------------------ node_wnd_goods = wait_for_node_visible(poco, wnd_goods_opt, 2) # node_btn_trum = get_node_child(node_wnd_goods, 'Trum') node_btn_sklads = get_node_child(node_wnd_goods, 'Sklads') # node_btn_WhereToBuy = get_node_child(node_wnd_goods, 'WhereToBuy') # out('click:' + node_btn_trum.attr('text')) touch_center(dev, node_btn_sklads) node_wnd_goods = wait_for_node_visible(poco, wnd_goods_opt, 2) items = node_wnd_goods.offspring('Towars') if len(items) > 0: i = 0 for item in items: i = i + 1 if i < 3: touch_center(dev, item) time.sleep(0.5) touch_center(dev, node_btn_back) time.sleep(0.5) else: out('sklads list is empty') ### ------------------------------------------------------------ node_wnd_goods = wait_for_node_visible(poco, wnd_goods_opt, 2) # node_btn_trum = get_node_child(node_wnd_goods, 'Trum') # node_btn_sklads = get_node_child(node_wnd_goods, 'Sklads') node_btn_WhereToBuy = get_node_child(node_wnd_goods, 'WhereToBuy') # out('click:' + node_btn_trum.attr('text')) touch_center(dev, node_btn_WhereToBuy) node_wnd_goods = wait_for_node_visible(poco, wnd_goods_opt, 2) items = node_wnd_goods.offspring('Towars') if len(items) > 0: i = 0 for item in items: i = i + 1 if i < 3: touch_center(dev, item) time.sleep(0.5) touch_center(dev, node_btn_back) time.sleep(0.5) else: out('WhereToBuy list is empty') return True