2017-02-07 22 views
0

Я пишу программу на Java, чтобы автоматизировать веб-тест URL-адреса консоли управления сервером, чтобы найти, какие из них представляют пользователям поле для учетных данных для входа.Программа Java для обнаружения запроса на вход в сервер?

Я начал изучать это с помощью Selenium WebDriver для автоматизации фактической тестовой функции открытия и закрытия окон, но то, что я не могу понять, заключается в том, как мне следует определить, отображается ли окно входа в систему Пользователь.

Есть ли конкретный код ответа, который представляет сервер, когда это происходит? Я знаю, когда пользователь не аутентифицирован/запрещен, будет ответ HTTP 401 или 403, соответственно, но я не уверен, будет ли этот 401 неаутентифицированный ответный код будет происходить независимо от того, предоставляется ли пользователю учетные данные для входа в систему ,

Цель состоит в том, чтобы определить, какой URL-адрес позволил пользователю ввести учетные данные, а затем опубликовать их в файле .txt для дальнейшей оценки. У меня уже есть элементы ввода/вывода java, которые работают правильно, поэтому мне действительно нужно выяснить, какое условие я ищу. Любая помощь будет оценена!

+0

Selenium - это прежде всего автоматизация веб-браузера, а не коды HTTP. С Seleinum вы можете исследовать наличие окна входа для каждого URL-адреса, который вы хотите проверить. Вы можете сделать это, используя 'WebDriver.findElements' или' ExpectedConditions.presenceOfElementLocated'. Если вы предоставите код, который у вас есть до сих пор, я мог бы углубиться в более подробные сведения. –

+0

Спасибо! Это делает трюк. – htillman3

+0

Приятно знать. Лучший способ сказать это - принять ответ. Вы даже получаете репутацию за это. –

ответ

0

Учитывая у вас есть конкретизированный экземпляр WebDriver (driver) и набор адресов (urls) вы хотите проверить, и учитывая ваш LoginBox содержит некоторый элемент, расположенный по ID «имя пользователя»

затем один возможным решения селена в Java может выглядеть следующим образом:

for (String url : urls) { 
    driver.get(url); 
    //adjust to your needs: long timeOutInSeconds, long sleepInMillis 
    WebDriverWait wait = new WebDriverWait(driver, 120L, 1000L); 
    try { 
     wait.until(ExpectedConditions.presenceOfElementLocated(By.id("username"))); 
     //TODO: Element found within timeOutInSeconds 
    } catch (WebDriverException e) { 
     //TODO: Element not present after timeOutInSeconds, write url to txt file 
    } 
} 

Если вы не можете найти элемент по идентификатору, использовать другие механизмы, как установочные described here.

 Смежные вопросы

  • Нет связанных вопросов^_^