Исключение авторизации с Python и Selenium - PullRequest
0 голосов
/ 05 марта 2019

Мне весело с Python и Selenium, и у меня есть один вопрос.Как обработать сообщение об ошибке, если при авторизации я указал неверные учетные данные.

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

Часть моего кода:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.select import Select
import sys
import urllib.request



if urllib.request.Request('https://url.i.want/to/open'): #check if it is reachable and open in positive response

driver = webdriver.Firefox (executable_path='path/to/webdriver')
driver.get('https://open.url/with/browser')
driver.maximize_window()
driver.implicitly_wait(2)


#Login page information. Contains Account Name, Username and Password
AccountName = driver.find_element_by_id('account')
AccountName.send_keys('accountname')
Login = driver.find_element_by_id('login')
Login.send_keys('login')
Password = driver.find_element_by_id('pw')
Password.send_keys('password')

driver.find_element_by_css_selector('#login_btn').click()

time.sleep(8) #Time to login (Not very elegant but ok for prototype)

try:
    #close pop-up infomation window
    driver.find_element_by_css_selector('some_popup_window').click()
except:
    print('Please check login credentials')
    sys.exit()

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

используйте метод driver.getTitle () и сравните его с заголовком страницы после входа в систему с ожидаемым заголовком страницы. Таким образом, вы можете убедиться, что вы вошли в приложение.

0 голосов
/ 05 марта 2019

Прежде всего, не пользователь time.sleep() проверьте неявное и явное ожидание отсюда: Методы ожидания для python

Затем для обработки сообщений об ошибках попробуйте утверждать, что: Assert / VerifyElementPresent с Python и WebDriver?

Кроме того, ваш код также не имеет никаких утверждений, попробуйте добавить утверждение после каждого действия для проверки ваших тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...