def run_test(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_3 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (2)' btn_quest_4 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (3)' 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_3): return False # тыкаем принять if not wait_and_click_button(dev, poco, btn_accept_qst): return False # тыкаем 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_trum' btn_trum = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_trum' if not wait_and_click_button(dev, poco, btn_trum): return False # тыкаем купить ядра btn_path = 'H_Canvas/USER_Main_UI/TRUM_STORE_STORAGE/'\ +'MARKET/M_Button_buy_Canonballs' if not wait_and_click_button(dev, poco, btn_path): return False # выбираем ядра btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'ItemsWindow/ScroolArea/ItemList/Item1' if not wait_and_click_button(dev, poco, btn_path): return False # выбираем х10 btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'SellWindowBG/SellWindow/AmountSelector/Center' if not wait_and_click_button(dev, poco, btn_path): return False # тыкаем купить 10 btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'SellWindowBG/SellWindow/SellOne/SellOneBTN' if not wait_and_click_button(dev, poco, btn_path): return False # покидаем режим магазина if not wait_and_click_button(dev, poco, btn_back): 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 # тыкаем ядра в трюме btn_path = 'H_Canvas/USER_Main_UI/TRUM_STORE_STORAGE/'\ +'SHIP/T_Button_buy_Canonballs' if not wait_and_click_button(dev, poco, btn_path): return False # выбираем ядра btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'ItemsWindow/ScroolArea/ItemList/Item1' if not wait_and_click_button(dev, poco, btn_path): return False # выбираем х10 btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'SellWindowBG/SellWindow/AmountSelector/Center' if not wait_and_click_button(dev, poco, btn_path): return False # тыкаем на склад 10 btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'SellWindowBG/SellWindow/SellTen/SellTenBTN' if not wait_and_click_button(dev, poco, btn_path): 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 # выбираем ядра btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'ItemsWindow/ScroolArea/ItemList/Item1' if not wait_and_click_button(dev, poco, btn_path): return False # выбираем х1 btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'SellWindowBG/SellWindow/AmountSelector/Left' if not wait_and_click_button(dev, poco, btn_path): return False # тыкаем продать 1 btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'SellWindowBG/SellWindow/SellOne/SellOneBTN' if not wait_and_click_button(dev, poco, btn_path): return False # покидаем режим трюма if not wait_and_click_button(dev, poco, btn_back): 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_4): 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 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' # path_quests_menu_lst = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg' path_quest_8 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (7)' path_quest_9 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (8)' 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_8): return False # тыкаем принять if not wait_and_click_button(dev, poco, path_accept_qst): return False # выходим на глобальную карту if not wait_and_click_button(dev, poco, path_map): return False # ждём перехода на глобальную карту state = find_current_state(poco) wait_cnt = 0 while state != State.MAP: wait_cnt += 1 if (wait_cnt > 3): out('долгое ожидание глобальной карты', 'что-то пошло не так') return False # out('wait') time.sleep(3) state = find_current_state(poco) # тыкаем в маркер btn_tut_marker btn_tut_marker = 'T_GLOBAL_MAP/Event_Radius(Clone)' if not wait_and_click_button(dev, poco, btn_tut_marker): return False tutorial_quest_8 = 'TutorialQuest8(Clone)' # ждём начала туториала сообщение "нажмите на знак артефакта" node = wait_for_node_visible(poco, tutorial_quest_8, 5) wait_cnt = 0 while not node.exists(): wait_cnt += 1 if (wait_cnt > 3): out('долгое ожидание запуска обучения', 'что-то пошло не так') return False out('ждём запуска туториала (3 sec)') time.sleep(3) node = wait_for_node_visible(poco, tutorial_quest_8, 5) # сообщение 'нажмите на знак артефакта' node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'нажмите на знак артефакта') return False # тыкаем back if not wait_and_click_button(dev, poco, path_back): return False # жмём на использование артефакта path_artefact = 'H_Canvas/USER_Main_UI/ARTEFACT_BLOCK/Artefact1/ArtefactIcon' if not wait_and_click_button(dev, poco, path_artefact): return False time.sleep(10) # сообщение 'нужно время на востановление' node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'нужно время на востановление') return False # тыкаем back if not wait_and_click_button(dev, poco, path_back): return False time.sleep(5) # сообщение 'потопите 2 тренеровочных корабля' node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'потопите 2 тренеровочных корабля') return False # тыкаем back if not wait_and_click_button(dev, poco, path_back): return False time.sleep(10) # цикл потопления кораблей f_exit = False i = 10 while not f_exit: node = wait_for_node_visible(poco, path_event_reward, 5) if node.exists(): f_exit = True else: # жмём на использование артефакта path_artefact = 'H_Canvas/USER_Main_UI/ARTEFACT_BLOCK/Artefact1/ArtefactIcon' if not wait_and_click_button(dev, poco, path_artefact): return False time.sleep(10) if i < 1: out('долгое потопление кораблей', '') 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 # поплыли в академию if not go_to_academia(dev, poco): return False time.sleep(1) 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_9): 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(dev, poco, big_test=False): path_point_to_buy = 'T_GLOBAL_MAP/EPTown_Black_skull' # or EPTown_Mothers_TWN path_point_to_sell = 'T_GLOBAL_MAP/EPTown_Amelia' # or EPTown_Grey_Land_CAP path_speed_up = 'H_Canvas/USER_Main_UI/SPEED_UP/BTN' 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_9 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (8)' path_quest_X = '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_9): return False # тыкаем принять if not wait_and_click_button(dev, poco, path_accept_qst): 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 # тыкаем на город с зеленый "%" if not wait_and_click_button(dev, poco, path_point_to_buy): return False # тыкаем на "укорение" if not wait_and_click_button(dev, poco, path_speed_up): return False # 10 секунд на доплыть к городу должно хватить time.sleep(10) # жёдм когда окажемся в городе, имя парсим из кода ns = path_point_to_buy.split('_') point_name = ns[len(ns) - 1] state = find_current_state(poco) while state != State.TOWN: out('ждём ' + point_name + ' (3 sec)') time.sleep(3) state = find_current_state(poco) # тыкаем "трюм" path_trum = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_trum' if not wait_and_click_button(dev, poco, path_trum): return False # тыкаем "магазин" path_market = 'H_Canvas/USER_Main_UI/' \ +'TRUM_STORE_STORAGE/MARKET/CLICKABLE SIZE' if not wait_and_click_button(dev, poco, path_market): return False # подготавливаем swipe path_lst_root = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'ItemsWindow/ScroolArea/ItemList' my_swipe(dev, poco, path_lst_root, 'Item4', 'Item1') # выбираем "винтажный портвейн" path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'ItemsWindow/ScroolArea/ItemList/Item8' if not wait_and_click_button(dev, poco, path): return False # тыкаем купить 1 btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'SellWindowBG/SellWindow/SellOne/SellOneBTN' if not wait_and_click_button(dev, poco, btn_path): 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 # тыкаем на город с зеленый "%" if not wait_and_click_button(dev, poco, path_point_to_sell): return False # тыкаем на "укорение" if not wait_and_click_button(dev, poco, path_speed_up): return False # 10 секунд на доплыть к городу должно хватить time.sleep(10) # жёдм когда окажемся в городе, имя парсим из кода ns = path_point_to_sell.split('_') point_name = ns[len(ns) - 1] state = find_current_state(poco) while state != State.TOWN: out('ждём ' + point_name + ' (3 sec)') time.sleep(3) state = find_current_state(poco) # тыкаем "трюм" path_trum = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_trum' if not wait_and_click_button(dev, poco, path_trum): return False # тыкаем на товары на корабле path_ship = 'H_Canvas/USER_Main_UI/TRUM_STORE_STORAGE/'\ +'SHIP/CLICKABLE SIZE' if not wait_and_click_button(dev, poco, path_ship): return False # подготавливаем swipe path_lst_root = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'ItemsWindow/ScroolArea/ItemList' my_swipe(dev, poco, path_lst_root, 'Item4', 'Item1') my_swipe(dev, poco, path_lst_root, 'Item7', 'Item4') my_swipe(dev, poco, path_lst_root, 'Item10', 'Item7') my_swipe(dev, poco, path_lst_root, 'Item13', 'Item10') # выбираем "винтажный портвейн" path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'ItemsWindow/ScroolArea/ItemList/Item16' if not wait_and_click_button(dev, poco, path): return False # тыкаем купить 1 btn_path = 'H_Canvas/USER_Main_UI/HOLD_WINDOW/'\ +'SellWindowBG/SellWindow/SellOne/SellOneBTN' if not wait_and_click_button(dev, poco, btn_path): return False time.sleep(2) # out('---- конец теста, дальше недоделанно ----') # time.sleep(102); # 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) # поплыли в академию if not go_to_academia(dev, poco): return False time.sleep(1) 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_X): 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_1(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_academy = 'T_GLOBAL_MAP/EPTown_t_academy_name' btn_tut_marker = 'T_GLOBAL_MAP/Event_Radius(Clone)' 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_1 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (0)' btn_quest_2 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (1)' 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' tutorial_quest_1 = 'TutorialQuest1(Clone)' btn_rot_left = 'H_Canvas/USER_Main_UI/CONTROLL_PANEL/ROT_LEFT' # btn_rot_right = 'H_Canvas/USER_Main_UI/CONTROLL_PANEL/ROT_RIGHT' btn_speed = 'H_Canvas/USER_Main_UI/CONTROLL_PANEL/TOGGLE_SPEED' btn_speed_up = 'H_Canvas/USER_Main_UI/SPEED_UP/BTN' ### --------------------------------------- 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_1): return False # тыкаем принять if not wait_and_click_button(dev, poco, btn_accept_qst): return False # выходим на глобальную карту if not wait_and_click_button(dev, poco, btn_map): return False # ждём перехода на глобальную карту state = find_current_state(poco) wait_cnt = 0 while state != State.MAP: wait_cnt += 1 if (wait_cnt > 3): out('долгое ожидание глобальной карты', 'что-то пошло не так') return False # out('wait') sleep(3) state = find_current_state(poco) # тыкаем в маркер btn_tut_marker if not wait_and_click_button(dev, poco, btn_tut_marker): return False # ждём начала туториала сообщение "направление ветра" node = wait_for_node_visible(poco, tutorial_quest_1, 5) wait_cnt = 0 while not node.exists(): wait_cnt += 1 if (wait_cnt > 3): out('долгое ожидание запуска обучения', 'что-то пошло не так') return False # out('wait') sleep(3) node = wait_for_node_visible(poco, tutorial_quest_1, 5) 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 # поворачиваемся по ветру до появления "следуйте до следующего маркера" node = wait_for_node_visible(poco, wnd_event_reward, 5) wait_cnt = 0 while not node.exists(): wait_cnt += 1 if (wait_cnt > 10): out('долгое ожидание сообщения', 'нет сообщения "следуйте до следующего маркера"') return False out('press rot_left') node = wait_for_node_visible(poco, btn_rot_left, 5) # touch_center(dev, node, logout=False, times=5) node.swipe([0, 0], duration=6) # костыль на зажатие node = wait_for_node_visible(poco, wnd_event_reward, 5) # закрываем диалог if not wait_and_click_button(dev, poco, btn_back): return False # тыкаем на кнопку "паруса" if not wait_and_click_button(dev, poco, btn_speed): return False # следуем до появление про ускорение sleep(5) node = wait_for_node_visible(poco, wnd_event_reward, 5) wait_cnt = 0 while not node.exists(): wait_cnt += 1 if (wait_cnt > 10): out('долгое ожидание сообщения', 'нет сообщения про ускорение') return False sleep(5) node = wait_for_node_visible(poco, wnd_event_reward, 5) # закрываем диалог if not wait_and_click_button(dev, poco, btn_back): return False # тыкаем "ускорение" if not wait_and_click_button(dev, poco, btn_speed_up): return False # ждём перехода на глобальную карту state = find_current_state(poco) wait_cnt = 0 while state != State.MAP_EVENT_REWARD: wait_cnt += 1 if (wait_cnt > 3): out('долгое ожидание глобальной карты', 'что-то пошло не так') return False out('wait') time.sleep(3) state = find_current_state(poco) # сообщение "ускорение работает на карте тоже" if not wait_and_click_button(dev, poco, btn_back): return False # тыкаем "ускорение" if not wait_and_click_button(dev, poco, btn_speed_up): return False # сообщение "отлично, вот твоя награда" if not wait_and_click_button(dev, poco, btn_back): return False # переходим в "академию" if not go_to_academia(dev, poco): return False time.sleep(1) 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_2): 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 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(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_5 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (4)' btn_quest_6 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (5)' 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_5): return False # тыкаем принять if not wait_and_click_button(dev, poco, btn_accept_qst): return False # тыкаем 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_equip' btn_path = 'H_Canvas/USER_Main_UI/CONFIG/AllButtons/Button_equip' if not wait_and_click_button(dev, poco, btn_path): return False time.sleep(2) # подготавливаемся к свайпу sn_item_list = 'H_Canvas/USER_Main_UI/CONFIG_EQUIP_MAIN/'\ +'ItemsBG/ScrollItems/Viewport/ItemList' sn_slot_canon = 'H_Canvas/USER_Main_UI/CONFIG_EQUIP_MAIN/Slots/Canon_1' sn_slot_canon_sub = 'H_Canvas/USER_Main_UI/CONFIG_EQUIP_MAIN/Slots/Canon_1/sub_1' node_slot = wait_for_node_visible(poco, sn_slot_canon, 5) node_slot_sub = wait_for_node_visible(poco, sn_slot_canon_sub, 5) # перетаскиваем пушку в слот node_item_list = wait_for_node_visible(poco, sn_item_list, 5) node_from = node_item_list.child()[0] pos_abs_from = pos_center(dev, node_from) pos_from = pos_center(dev, node_from, False) pos_to = pos_center(dev, node_slot, False) vec = [pos_to[0] - pos_from[0], pos_to[1] - pos_from[1]] print('vector ', pos_abs_from, vec) swipe(pos_abs_from, vector=vec, duration=3) time.sleep(1) # перетаскиваем улучшение в слот node_item_list = wait_for_node_visible(poco, sn_item_list, 5) node_from = node_item_list.child()[0] pos_abs_from = pos_center(dev, node_from) pos_from = pos_center(dev, node_from, False) pos_to = pos_center(dev, node_slot_sub, False) vec = [pos_to[0] - pos_from[0], pos_to[1] - pos_from[1]] print('vector ', pos_abs_from, vec) swipe(pos_abs_from, vector=vec, duration=3) time.sleep(1) # выходим из окна улучшений if not wait_and_click_button(dev, poco, btn_back): 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_6): 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 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' # path_quests_menu_lst = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg' path_quest_7 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (6)' path_quest_8 = 'H_Canvas/USER_Main_UI/CONFIG_QWESTS/AVR_bg_paper/AVR_bg/A1 (7)' 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' precission_path = 'Rank2(Clone)/MARKER_NEW(Clone)/4-PRECISSION' ### --------------------------------------- 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_7): return False # тыкаем принять if not wait_and_click_button(dev, poco, path_accept_qst): return False # выходим на глобальную карту if not wait_and_click_button(dev, poco, path_map): return False # ждём перехода на глобальную карту state = find_current_state(poco) wait_cnt = 0 while state != State.MAP: wait_cnt += 1 if (wait_cnt > 3): out('долгое ожидание глобальной карты', 'что-то пошло не так') return False # out('wait') time.sleep(3) state = find_current_state(poco) # тыкаем в маркер btn_tut_marker btn_tut_marker = 'T_GLOBAL_MAP/Event_Radius(Clone)' if not wait_and_click_button(dev, poco, btn_tut_marker): return False tutorial_quest_7 = 'TutorialQuest7(Clone)' # ждём начала туториала сообщение "направление ветра" node = wait_for_node_visible(poco, tutorial_quest_7, 5) wait_cnt = 0 while not node.exists(): wait_cnt += 1 if (wait_cnt > 3): out('долгое ожидание запуска обучения', 'что-то пошло не так') return False out('ждём запуска туториала (3 sec)') time.sleep(3) node = wait_for_node_visible(poco, tutorial_quest_7, 5) # сообщение 'нведите трубу на врага' node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'нведите трубу на врага') return False # тыкаем back if not wait_and_click_button(dev, poco, path_back): return False # поворачиваем камеру к кораблю node_path = 'Rank2(Clone)/MARKER_NEW(Clone)/10-MobileRelationsMark' if not rotate_cam_to(dev, poco, node_path, True): return False # тыкаем Zoom node_path = 'H_Canvas/USER_Main_UI/CONTROLL_PANEL/ZOOM' if not wait_and_click_button(dev, poco, node_path): return False # поворачиваем камеру к кораблю # node_path = 'Rank2(Clone)/MARKER_NEW(Clone)/10-MobileRelationsMark' # if not rotate_cam_zoom_to(dev, poco, node_path, True): return False # сообщение 'уничтожте карабль' node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): out('долгое ожидание сообщения', 'уничтожте карабль') return False # тыкаем back if not wait_and_click_button(dev, poco, path_back): return False node_path = 'H_Canvas/USER_Main_UI/CONTROLL_PANEL/TOGGLE_SPEED' if not wait_and_click_button(dev, poco, node_path): return False out('ожидаем подплытия') time.sleep(30) node_path = 'H_Canvas/USER_Main_UI/CONTROLL_PANEL/TOGGLE_SPEED' if not wait_and_click_button(dev, poco, node_path): return False # поворачиваем камеру к кораблю poco("4-PRECISSION") if not rotate_l_let_to(dev, poco, precission_path, True): return False f_exit = False while not f_exit: node = wait_for_node_visible(poco, path_event_reward, 5) if not node.exists(): node = wait_for_node_visible(poco, precission_path, 10) if not node.exists(): out('долгое ожидание прицела', precission_path) return False node_path = 'H_Canvas/USER_Main_UI/FIGHT_PANEL/SHOOT_Manual' if not wait_and_click_button(dev, poco, node_path): return False time.sleep(4) # задержка для перезарядки else: f_exit = True # сообщение "вот ваша награда" 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 # поплыли в академию if not go_to_academia(dev, poco): return False time.sleep(1) 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_8): 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