Проблемы с использованием Sikuli при авторизации в proxy серверах


(Антон) #1

Доброго времени суток.

Решил применить Sikuli для авторизации при открытии странички с прокси.

И вроде как все красиво получилось но сикули молчит как партизан и ничего не делает :)

Вот что у меня на руках:
Вот метод в AbstractPage который у нас открывет заданные страницы, в него дописал блок try-catch с методом для сикули
 
public void openPage(String p_pageUrl)
{
qa.driver.get(qa.testSite + p_pageUrl);
 
try
{
sikuliProxyLogin();
} catch (FindFailed e)
{
e.printStackTrace();
}
}
 
А вот и сам метод
protected void sikuliProxyLogin () throws FindFailed
{
Pattern loginWindow = new Pattern("D:\\QA\\src\\qa\\img\\FireFox_loginWindow.png");
Pattern username = new Pattern("D:\\QA\\src\\qa\\img\\FireFox_UserNameField.png");
Pattern password = new Pattern("D:\\QA\\src\\qa\\img\\FireFox_PasswordField.png");
Pattern loginButton = new Pattern("D:\\QA\\src\\qa\\img\\FireFox_OKButton.png");
 
Region screen = new Screen();
screen.wait(loginWindow);
screen.type(username, Config.PROXY_USER);
screen.type(password, Config.PROXY_PASS);
screen.click(loginButton);
 
}
Сикули молчит как партизан и ничего не делает...не знаю даже он что-то собирался делать или просто спит? :)
Может кто сталкивался с подобным? Возможно не в том месте вызываю метод с сикули.


(Mykhailo Poliarush) #2

а ты пробовал дебажить свой сценарий,

на какой строке останавливается sikuli?


(Антон) #3

Да пробовал конечно.

Тест замирает после строчки 

qa.driver.get(qa.testSite + p_pageUrl);

когда пытается открыться сайт, но выскакивает окно с вводом логина-пароля для авторизации в прокси сервисе.

Дальше не идет, пока окно не закроешь, ну а тогда уже вхолостую отрабатывает (естественно не находя нужные элементы)


(Mykhailo Poliarush) #4

так именно на строчке qa.driver.get(qa.testSite + p_pageUrl); зависает или уже на отработке кода по sikuli

тут может быть, то что webdriver не передает управление дальше пока не введешь логин и пароль

а рекомендую тебе сделать простой тест

открыть окно авторизации, и запусть просто отдельно код sikuli (сделай просто отдельный тест с кодом sikuli который ты указал)

он должен подключиться и выполниться. 


(Антон) #5

Вот он на команде driver.get и теряется...видимо веб драйвер ожидает открытия страницы, а только после этого следующее действие - метод Sikuli


(Антон) #6

Попробовал открывать страницу с помощью Sikuli но тест падает при попытке, ничего вразумительного не рассказав.

Ребят может кто пробовал открывать страницы с его помощью поделитесь подводными камнями :)


(Mykhailo Poliarush) #7

значит, видимо, процесс останавливается и не передает управление дальше

надо это еще конечно, проверить

если это так, тогда надо запустить команду в другом потоке

что действия могли выполниться после открытия страницы

а есть публичный пример, чтобы попробовать скрипт?


(Mykhailo Poliarush) #8

каким образом ты открывал страницу?


(Антон) #9

Да видимо не правильно :) искал поле адресной строки и в нее вписывал