def second_case(): driver = authorization_in_pony() if driver == "FAIL ON STAGE: Wrong login or password" or driver == "No such input fields" or driver == "FAIL ON STAGE: Open page": return driver try: element_exit_buttom = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/section[1]/div/div/div[2]/div/button[2]'))) except: Print("No \"EXIT\" buttom") driver.close() return "FAIL ON STAGE: Find exit buttom" element_exit_buttom.click() try: element_login = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/input[1]'))) element_password = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/input[2]'))) except: Print("Authorization page was't opened") driver.close() return "Authorization page was't opened" Print("Case 2 success") driver.close() return "Success"
def third_case(): driver = pony_driver_init() Login = Pathes.Login Password = "******" if driver == "Page wasn't open": return "FAIL ON STAGE: Open page" try: element_login = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/input[1]'))) element_password = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/input[2]'))) except: Print("No such input fields") driver.close() return "No such input fields" element_login.send_keys(Login) element_password.send_keys(Password) element_buttom = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/button'))) element_buttom.click() try: element_infoplate = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/p'))) except: Print("No plate about wrong login or password") driver.close() return "FAIL" Print("Case 3 success") driver.close() return "Success"
def event_registration(): driver = menu_button_click() if driver == "FAIL ON STAGE: Wrong login or password" or driver == "No such input fields" or driver == "FAIL ON STAGE: Open page" or driver == "FAIL ON STAGE: Click menu button": return driver try: element_production_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".bp3-submenu:nth-child(1) .bp3-text-overflow-ellipsis"))) except: Print("Production button wasn't found") driver.close() return "FAIL ON STAGE: Find production button" element_production_button.click() Print("Production button click") try: element_EventRegistration_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, '/html/body/div[3]/div/div/div/div[2]/ul/li[1]/span/div/div/div/div/ul/li[1]/span/span/a/div'))) except: Print("EventRegistration button wasn't found") driver.close() return "FAIL ON STAGE: Find EventRegistration button" element_EventRegistration_button.click() Print("EventRegistration click") return driver
def authorization_in_pony(): Login = Pathes.Login Password = Pathes.Password driver = pony_driver_init() if driver == "Page wasn't open": return "FAIL ON STAGE: Open page" try: element_login = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/input[1]'))) element_password = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/input[2]'))) except: Print("No such input fields") driver.close() return "No such input fields" element_login.send_keys(Login) element_password.send_keys(Password) element_buttom = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/form/button'))) element_buttom.click() try: element_menu_button = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/section[1]/div/div/span/span/button'))) except: Print("Wrong login or password") driver.close() return "FAIL ON STAGE: Wrong login or password" Print("Success authorization") return driver
def request_3(): Print('Request 3') token = authorization_r() if token == -1: Print('Request 3 failed') return -1 r = get_couriers(token, 1, 5, 0, 'Максим') if r == -1: Print('Request 3 failed') return -1 if r['result']['count'] != 5: Print('Didnt find 5 couriers who named Maxim') Print('Request 3 failed') return -1 Print('Find 5 couriers who named Maxim') couriers_list = r['result']['items'] for courier in couriers_list: if courier['firstName'] != 'Максим': Print('Courier is not Maxim') Print('Request 3 failed') return -1 Print('Every courier is Maxim ') Print('Success') return 'Success'
def get_all_groups(token): url = 'http://srv-pnew-01-test.ponyex.local:1001/api/v1/user-profile-groups/get-limit/1000' r = requests.get(url, headers={'Authorization': f'Bearer {token}'}) if r.status_code != 200: Print('Return Failed') return -1 else: Print('Return Success') return json.loads(r.text)
def request_1(): Print('Request 1') token = Authorization.authorization_r() if token == -1: return -1 Print('Request was sent') r = get_request(token, 0, '/api/v1/configurations/get-all') if r == -1 or r.status_code != 200: Print("Request 1 failed") return -1 Print('Success') return "Success"
def pony_driver_init(): driver_path = Pathes.driver_path pegas_url = 'http://pegasus-edu.pegasus.ponyex.local/' driver = webdriver.Chrome(executable_path=driver_path) driver.get(pegas_url) try: title = WebDriverWait(driver, 10).until(EC.title_is("Пегас")) except: Print("Page wasn't open") driver.close() return "Page wasn't open" Print("Page was opened") return driver
def delete_group(token, id): url = 'http://srv-pnew-01-test.ponyex.local:1001/api/v1/user-profile-groups/delete-item' headers = {'Authorization': f'Bearer {token}'} params = {'id': id} r = requests.delete(url, headers=headers, params=params) if r.status_code != 200: Print('Return Failed') return -1 else: Print('Return Success') return json.loads(r.text)
def get_request(token, num, api, params=None): if params is None: try: r = requests.get(urls[num] + api, headers={'Authorization': f'Bearer {token}'}) if r.status_code != 200: Print(r.status_code) Print('Return failed') return r else: Print('return success') return r except: Print('Cant send request') return -1 else: try: r = requests.get(urls[num] + api, headers={'Authorization': f'Bearer {token}'}, params=params) if r.status_code != 200: Print(r.status_code) Print('Return failed') else: Print('return success') return r except: Print('Cant send request') return -1 return r
def included_in_consolidation(token, destinationPointId): url = 'http://events-backend-edu.pegasus.ponyex.local/api/v1/event-blocks79/post-item' headers = {'Authorization': f'Bearer {token}'} data = {"description":"","destinationPointId":destinationPointId} Print('Event 79 requests is running') r = requests.post(url, json=data, headers=headers) if r.status_code != 200: Print('Fail code') return -1 else: Print('Success') return json.loads(r.text)
def delete_object(token, id_): url = f'http://events-backend-edu.pegasus.ponyex.local/api/v1/pegasus-events71/delete-item/{id_}' headers = {'Authorization': f'Bearer {token}'} data = {'id': id_} Print('Send request on delete obj with id: ' + id_) r = requests.delete(url, headers=headers, params=data) if r.status_code != 200: Print('Fail code') return -1 else: Print('Success') return json.loads(r.text)
def without_sorting_and_couriers(token): url = 'http://events-backend-edu.pegasus.ponyex.local/api/v1/event-blocks71/post-item' headers = {'Authorization': f'Bearer {token}'} data = {"description": ""} Print('Event 71 without sort and cour is running') r = requests.post(url, json=data, headers=headers) if r.status_code != 200: Print('Fail code') return -1 else: Print('Success') return json.loads(r.text)
def find_object(token, id_): url = f'http://events-backend-edu.pegasus.ponyex.local/api/v1/pegasus-events71/get-events-by-event-block-id/{id_}' headers = {'Authorization': f'Bearer {token}'} data = {'id': id_} Print('Send reqiest on searching obj with id: ' + id_) r = requests.get(url, headers=headers, params=data) if r.status_code != 200: Print('Fail code') return -1 else: Print('Success') return json.loads(r.text)
def create_group(token, name): url = 'http://srv-pnew-01-test.ponyex.local:1001/api/v1/user-profile-groups/post-item' headers = { 'Authorization': f'Bearer {token}', 'Content-Type': 'application/json' } data = {'displayName': name} r = requests.post(url, json=data, headers=headers) if r.status_code != 200: Print('Return Failed') return -1 else: Print('Return Success') return json.loads(r.text)
def request_13(): Print('Request 13') token = authorization_r() if token == -1: Print('Request 13 failed') return -1 destinationPointId = Pathes.destinationPointId_1202 r = event_79_requests.included_in_consolidation(token, destinationPointId) if r == -1: Print('Request 13 failed') return -1 destinationPoint = r['result']['destinationPoint'] if destinationPoint['code'] == '1202': Print('Block created') Print('Success') return 'Success' else: Print('Was added in different block') Print('Request 13 failed') return -1
def get_courier_by_id(token, courier_id): Print('Find courier with id = ' + courier_id) r = get_request(token, 1, f'/api/v1/couriers/get-courier-by-id/ {courier_id}', {'id': courier_id}) if r == -1: Print('Failed') return -1 if r.status_code != 200: return -1 #print(r['result']) r = json.loads(r.text) if r['result'] == None: Print('Cant find current courier') return r
def authorization_r(): headers = {'Content-Type': 'application/x-www-form-urlencoded'} data = {'username': Pathes.Login, 'password': Pathes.Password, 'grant_type': 'password', 'scope': 'pegasus', 'client_id': 'pegasus-v2', 'client_secret': 'secret'} url = "http://srv-pnew-01-test:1001/auth/connect/token" try: r = requests.post(url, data=data, headers=headers) except: Print('Authorization failed') return -1 Print('Authorization successful') answer = json.loads(r.text) return (answer["access_token"])
def menu_button_click(): driver = Authorization.authorization_in_pony() if driver == "FAIL ON STAGE: Wrong login or password" or driver == "No such input fields" or driver == "FAIL ON STAGE: Open page": return driver else: Print("Authorization success") element_menu_button = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[1]/section/section[1]/div/div/span/span/button'))) element_menu_button.click() try: element_servise_button = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, '/html/body/div[3]/div/div/div/div[2]/ul/li[7]/span/span/a/div'))) except: Print("No tab after menu button click") driver.close() return "FAIL ON STAGE: Click menu button" Print("Menu button click") return driver
def add_object(token, id_, number): url = 'http://events-backend-edu.pegasus.ponyex.local/api/v1/pegasus-events71/post-item' headers = {'Authorization': f'Bearer {token}'} data = { "eventBlockId": id_, "pointId": "07c5c96a-6f52-428d-9332-0004c296067e", "scannedNumber": number, "hostname": "DESKTOP-M4BHSDU" } Print('Send request on add obj with num: ' + number) r = requests.post(url, json=data, headers=headers) if r.status_code != 200: Print('Fail code') return -1 else: Print('Success') return json.loads(r.text)
def print_condition_parameters(token): r = get_condition_parameters(token) code_list = r['result'] out = 'codes = [\n' for code in code_list: out += '[' + str(code['code']) + ', ' + "'" + code['name'] + "'" + '],\n' out += ']' Print(out) return 0
def request_2(): Print('Request 2') token = authorization_r() if token == -1: Print('Request 2 failed') return -1 r = get_courier_by_id(token, '359afb0c-b870-4610-9233-524db1d5a029') if r == -1: Print('Request 2 failed') return -1 r = r['result'] if r['firstName'] != 'Евгений ' or r['lastName'] != '(СТД) Бурлаченко': Print('Wrong courier') Print('Request 2 failed') return -1 else: Print('Right courier') Print('Success') return 'Success'
def request_8(): Print('Request 8') token = authorization_r() if token == -1: Print('Request 8 failed') return -1 r = without_sorting_and_couriers(token) if r == -1: Print('Request 8 failed') return -1 if r['result']['id'] != None: Print('Block was created, id: ' + r['result']['id']) Print('Success') else: Print('Request 8 failed') return -1
def sixth_case(): Password = "******" driver = menu_button_click() if driver == "FAIL ON STAGE: Wrong login or password" or driver == "No such input fields" or driver == "FAIL ON STAGE: Open page" or driver == "FAIL ON STAGE: Click menu button": return driver element_servise_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable(( By.XPATH, '//html/body/div[3]/div/div/div/div[2]/ul/li[7]/span/span/a/div'))) element_servise_button.click() try: element_Permissions_management_button = WebDriverWait( driver, 10 ).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[3]/div/div/div/div[2]/ul/li[7]/span/div/div/div/div/ul/li[1]/span/span/a/div' ))) except: Print("No tab after servise button click") driver.close() return "FAIL ON STAGE: Click servise button" Print("Servis button click") element_Permissions_management_button.click() try: element_Group_of_users_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[3]/div/div/div/div[2]/ul/li[7]/span/div/div/div/div/ul/li[1]/span/div/div/div/div/ul/li[1]/a/div' ))) except: Print("No tab after Permissions management click") driver.close() return "FAIL ON STAGE: Click Permissions management button" Print("Permissions management button click") element_Group_of_users_button.click() try: element_create_group_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable(( By.XPATH, "/html/body/div[1]/section/section[2]/section/section/div/div/div[1]/div[1]/button[1]/span[2]" ))) except: Print("No page after group of users button click") driver.close() return "FAIL ON STAGE: Click group of users button button" Print("Group of users click") time.sleep(5) element_create_group_button.click() try: element_create_group_name_field = WebDriverWait(driver, 10).until( EC.visibility_of_element_located(( By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/form/div[1]/div/div/input' ))) except: Print("No create group window") driver.close() return "FAIL ON STAGE: Click on create group button " element_create_group_name_field.send_keys(Password) try: element_save_group_name_button = WebDriverWait(driver, 10).until( EC.visibility_of_element_located(( By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/form/div[2]/button[1]/span' ))) except: Print("No Save group button") driver.close() return "FAIL ON STAGE: Save new group" element_save_group_name_button.click() try: element_search_field = WebDriverWait(driver, 10).until( EC.visibility_of_element_located(( By.XPATH, '/html/body/div[1]/section/section[2]/section/section/div/div/div[1]/div[2]/div/div/div/input' ))) except: Print("Save group button wasn't cliked") driver.close() return "FAIL ON STAGE: Click on save group button" element_search_field.send_keys(Password) try: element_find_group = WebDriverWait(driver, 5).until( EC.element_to_be_clickable(( By.XPATH, "/html/body/div[1]/section/section[2]/section/section/div/div/div[2]/div[1]/table/tbody/tr[1]/td[2]" ))) except: Print("Crated group wasn't found") driver.close() return "FAIL ON STAGE: Find created group" #if element_find_group.text != Password: # Print("Find group with looks like name") # driver.close() # return "FAIL ON STAGE: Find created group: Find group with looks like name" #Print("Group was found") try: element_delete_groop_button = WebDriverWait(driver, 5).until( EC.element_to_be_clickable(( By.XPATH, "/html/body/div[1]/section/section[2]/section/section/div/div/div[1]/div[1]/button[4]" ))) except: Print("Delete group button wasn't found") driver.close() return "FAIL ON STAGE: Find delete group button" element_delete_groop_button.click() Print('Delete group button was clicked') try: element_delete_button = WebDriverWait(driver, 5).until( EC.element_to_be_clickable( (By.XPATH, "/html/body/div[4]/div/div[2]/div/div[3]/div/div/a[1]"))) except: Print("Delete button wasn't found") driver.close() return "FAIL ON STAGE: Find delete button" element_delete_button.click() Print("Delete button was ckicked") # time.sleep(5) driver.close() return "Success"
def request_10(): Print('Request 10') token = authorization_r() if token == -1: Print('Request 10 failed') return -1 r = event_71_requests.without_sorting_and_couriers(token) if r == -1: Print('Request 10 failed') return -1 id_ = r['result']['id'] if id_ != None: Print('Block created with id: ' + id_) else: Print('Request 10 failed') return -1 number = "11-1111-1112" r = event_71_requests.add_object(token, id_, number) if r == -1: Print('Can\'t add number: ' + number) Print('Request 10 failed') return -1 if r['metadata']['message'] == "$_OBJECT_NUMBER_NOT_VALID_$: 11-1111-1112": Print('System return error «Номер объекта не валидный»') Print('Request 10 success') return 'Success' else: Print('System add obj with: ' + number) Print('Request 10 failed') return -1
def request_11(): Print('Request 11') token = authorization_r() if token == -1: Print('Request 11 failed') return -1 r = event_71_requests.without_sorting_and_couriers(token) if r == -1: Print('Request 11 failed') return -1 id_ = r['result']['id'] if id_ != None: Print('Block created with id: ' + id_) else: Print('Request 11 failed') return -1 number = "0012345666" r = event_71_requests.add_object(token, id_, number) if r == -1: Print('Can\'t edit number: ' + number) Print('Request 11 failed') return -1 if r['metadata']['message'] == "$_MARK_IS_NOT_BOUND_$": Print('System return error «Марка не привязана»') Print('Success') return 'Success' else: Print('System add ibj with number: ' + number) Print('Request 11 failed') return -1
def request_12(): Print('Request 12') token = authorization_r() if token == -1: Print('Request 12 failed') return -1 r = event_71_requests.without_sorting_and_couriers(token) if r == -1: Print('Request 12 failed') return -1 id_ = r['result']['id'] if id_ != None: Print('Block created with id: ' + id_) else: Print('Request 12 failed') return -1 number = "11-1111-1111" r = event_71_requests.add_object(token, id_, number) if r == -1 or r['result'] == None: Print('Can\'t add obj with number: ' + number) Print('Request 12 failed') return -1 waybill_id = r['result']['id'] r = event_71_requests.find_object(token, id_) if r == -1 or r['result'] == None: Print('Can\'t find added obj') Print('Request 12 failed') return -1 find = 0 for waybill in r['result']: if waybill['id'] == waybill_id: find = 1 break if find: Print('Add obj with number: ' + number + ' and id: ' + waybill_id) else: Print('Can\'t find obj with number: ' + number + ' and id: ' + waybill_id) Print('Request 12 failed') return -1 r = event_71_requests.delete_object(token, waybill_id) if r == -1: Print('Request 12 failed') return -1 r = event_71_requests.find_object(token, id_) if r == -1 or r['result'] == None: Print('Can\'t find added obj') Print('Request 12 failed') return -1 find = 0 for waybill in r['result']: if waybill['id'] == waybill_id: find = 1 break if find: Print('Obj with number: ' + number + ' and id: ' + waybill_id + ' wasn\'t deleted') Print('Request 12 failed') return -1 else: Print('Obj with number: ' + number + ' and id: ' + waybill_id + ' was deleted') Print('Success') return 'Success'
def tenth_case(): driver = menu_button_click() if driver == "FAIL ON STAGE: Wrong login or password" or driver == "No such input fields" or driver == "FAIL ON STAGE: Open page" or driver == "FAIL ON STAGE: Click menu button": return driver try: element_production_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable( (By.CSS_SELECTOR, ".bp3-submenu:nth-child(1) .bp3-text-overflow-ellipsis"))) except: Print("Production button wasn't found") driver.close() return "FAIL ON STAGE: Find production button" element_production_button.click() Print("Production button click") try: element_EventRegistration_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[3]/div/div/div/div[2]/ul/li[1]/span/div/div/div/div/ul/li[1]/span/span/a/div' ))) except: Print("EventRegistration button wasn't found") driver.close() return "FAIL ON STAGE: Find EventRegistration button" element_EventRegistration_button.click() Print("EventRegistration click") try: element_71NoSort_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[3]/div/div/div/div[2]/ul/li[1]/span/div/div/div/div/ul/li[1]/span/div/div[2]/div/div/ul/li[1]/a/div' ))) except: Print("71NoSort button wasn't found") driver.close() return "FAIL ON STAGE: Find 71NoSort button" element_71NoSort_button.click() Print("71NoSort click") time.sleep(2) driver.switch_to_window(driver.window_handles[1]) try: element_without_courier_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable(( By.XPATH, "/html/body/div[3]/div/div[2]/div/div[2]/div/div[1]/div[1]/button[2]/span" ))) except: Print("Without courier button wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Find Without courier button" element_without_courier_button.click() Print("Without courier button click") try: element_form_name = WebDriverWait(driver, 10).until( EC.presence_of_element_located(( By.XPATH, "/html/body/div[1]/section/section[2]/section/section/div[1]/h1" ))) except: Print("Form name wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Find form name" if element_form_name.text != "71. Прибыл на склад (без сортировки)": Print("Wrong form was opened") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return 'FAIL ON STAGE: Check form name' try: element_blockNumber_field = WebDriverWait(driver, 10).until( EC.presence_of_element_located(( By.XPATH, "/html/body/div[1]/section/section[2]/section/section/div[2]/div[3]/div[2]/div/div/div[3]/form/input" ))) except: Print("Block number field wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return 'FAIL ON STAGE: Find block number field' element_blockNumber_field.send_keys("11-1111-1112\n") Print("11-1111-1112 was input") try: element_frame = WebDriverWait(driver, 10).until( EC.presence_of_element_located(( By.XPATH, "/html/body/div[1]/section/section[2]/section/section/div[2]/div[3]/div[2]/div/div" ))) except: Print("No frame around field") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return 'FAIL ON STAGE: Find frame around field' time.sleep(0.1) colour_of_frame = element_frame.get_attribute('style') if colour_of_frame == 'background-color: rgb(194, 48, 48);': Print("Frame is red") else: Print("Frame isn't red") time.sleep(5) driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return 'FAIL ON STAGE: Frame colour is not RED' Print("Success") time.sleep(5) driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return 'Success'
def test_case_13(): driver = event_registration() if driver == "FAIL ON STAGE: Find production button" or driver == "FAIL ON STAGE: Find EventRegistration button": driver.close() return driver try: element_included_in_consolidation_button = WebDriverWait( driver, 5 ).until( EC.element_to_be_clickable(( By.XPATH, "/html/body/div[3]/div/div/div/div[2]/ul/li[1]/span/div/div/div/div/ul/li[1]/span/div/div[2]/div/div/ul/li[4]/a" ))) except: Print("Button included in consolidation wasn't found") driver.close() return "FAIL ON STAGE: Find include in consolidation button" element_included_in_consolidation_button.click() Print("Include in consolidation button click") time.sleep(0.5) driver.switch_to_window(driver.window_handles[1]) time.sleep(2) try: element_menu_is_exist = WebDriverWait(driver, 5).until( EC.element_to_be_clickable( (By.XPATH, "/html/body/div[3]/div/div[2]/div/div[2]/form/div[1]/p"))) except: Print("No menu to input") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return 'FAIL ON STAGE: Find menu' try: element_choose_button = WebDriverWait(driver, 5).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/form/div[1]/div/button' ))) except: Print("Choose button wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Find choose button" element_choose_button.click() Print("Choose button click") try: element_search_field = WebDriverWait(driver, 5).until( EC.visibility_of_element_located( (By.XPATH, '//*[@id="search-input"]'))) except: Print("Field to input wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Find field to input" element_search_field.send_keys("1202") Print("1202 was sent in search field") try: element_first_group_button = WebDriverWait(driver, 5).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[4]/div/div[2]/div/div[2]/div/div[2]/div[1]/table/tbody/tr/td[1]' ))) except: Print("First group button wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Find first group button" element_first_group_button.click() Print("First group button click") time.sleep(1) try: element_add_button = WebDriverWait(driver, 5).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[4]/div/div[2]/div/div[2]/div/div[2]/div[1]/table/tbody/tr/td[1]' ))) except: Print("Add button wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Find add button" element_add_button.click() try: element_add_button = WebDriverWait(driver, 5).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[4]/div/div[2]/div/div[2]/div/div[1]/div[1]/button[1]/span' ))) except: Print("Add button wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Find add button" element_add_button.click() Print("Add button click") time.sleep(1) try: element_continue_button = WebDriverWait(driver, 5).until( EC.element_to_be_clickable(( By.XPATH, '/html/body/div[3]/div/div[2]/div/div[2]/form/div[2]/button'))) except: Print("Continue button wasn't found") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Find continue button" element_continue_button.click() Print("Continue button click") try: element_main_menu_name_field = WebDriverWait(driver, 5).until( EC.visibility_of_element_located(( By.XPATH, '/html/body/div[1]/section/section[2]/section/section/div[1]/h1' ))) except: Print("Didn't out in main menu") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Out in main menu" if element_main_menu_name_field.text == '79. Включен в консолидацию': Print("Out in main menu") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return 'Success' else: Print("Out in different menu") driver.close() driver.switch_to_window(driver.window_handles[0]) driver.close() return "FAIL ON STAGE: Out in main menu"
def request_5(): Print('Request 5') token = authorization_r() if token == -1: Print('Request 5 failed') return -1 r = get_all_groups(token) if r == -1: Print('Request 5 failed') return -1 if r['result'] == None: Print('Cant find groups') Print('Request 5 failed') return -1 Print('Get all groups of users') date = datetime.datetime.now() name = date.strftime('%Y.%d.%m,%H.%M.%S.test_groop_request') for group in r['result']: if group['displayName'] == name: Print('Group with name: ' + name + 'already exist') Print('Request 5 failed') return -1 r = create_group(token, name) if r['result'] == None: Print('Cant create group') Print('Request 5 failed') return -1 id = r['result']['id'] r = get_all_groups(token) if r == -1: Print('Request 5 failed') return -1 if r['result'] == None: Print('Cant find groups') Print('Request 5 failed') return -1 exists = 0 for group in r['result']: if group['displayName'] == name and group['id'] == id: exists = 1 if not exists: Print('Cant find created group') Print('Request 5 failed') return -1 Print('Found created group with name: ' + name + ' и id: ' + id) r = delete_group(token, id) if r == -1: Print('Request 5 failed') return -1 r = get_all_groups(token) if r == -1: Print('Request 5 failed') return -1 if r['result'] == None: Print('Cant find group') Print('Request 5 failed') return -1 exists = 0 for group in r['result']: if group['displayName'] == name and group['id'] == id: exists = 1 if exists: Print('Group wasn\'t deleted') Print('Request 5 failed') return -1 Print('Group was deleted') Print('Success') return 'Success'