Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

обработка подвисания приложения


(automatizator) #1

Приветствую, друзья мои.

 

Столкнулся с проблемой при автоматизации, хотелось бы услышать совета.

Пробую автоматизировать Web приложение, работающее в IE с использование ActiveX и множества асинхронных запросов.

Часты ситуации когда при клике по элементу страница почти мгновенно визуально меняется, а затем IE подвисает секунд на 10, при этом взаимодействовать со страницей

невозможно. Вопрос в том, возможно ли как-то отследить программно этот момент, чтобы дождаться, когда IE отвиснет и с ним будет возможно взаимодействовать.

Пробовал отследить этот момент по значку курсора(он меняется на песочные часики(или что-то подобное)), но не получилось, т.к., насколько я понял, сикули делает скриншот без значка курсора


(Mykhailo Poliarush) #2

я так понимаю, что Вы автоматизириуете  с помощью sikuli?


(automatizator) #3

да


(automatizator) #4

сделал следующее:

запускаю IE c помощью Selenium WebDriver.

И перед каждым вызовом методов Sikuli(click, type, paste), выполняю фейковый JavaScript код в IE. При этом если IE в данный момент подвис, то подвисает и выполнение JavaScript, и сам скрипт дальше не идёт, пока IE не отвиснет.

На первый взгляд с поставленной проблемой справляется очень хорошо

 

 


(Mykhailo Poliarush) #5

ну если прям зависает, то обход сработает

а бы лучше разобрался почему зависает браузер

а зачем вообще, делать какие-то тело движения через sikuli если этого же можно добиться с помощью webdriver?


(automatizator) #6

Selenium пробовал - не получается взаимодействовать с элементами на странице. 

Приложением в моём случае является веб интерфейс SIebel'я. Все UI элементы представляют собой ActiveX элементы. 

Кстати, может у кого есть опыт или советы как автоматизировать Siebel?

 

Насколько я понимаю мейнстримом для автоматизации подобных систем являются TesComplet'ы и QTP. Эти инструменты тоже рассматриваются, 
но пока хочу попробовать SIkuli.


(automatizator) #7

разобраться что именно подвисает не представляется возможным, т.к. видимо подвисают надстройки над IE Sieblel'я (High Interactivity, CallCenter)


(Mykhailo Poliarush) #8

да по поводу siebel - это конечно тяжело.

но я как раз недавно видел проект, где успешно отказались от qtp и webdriver

и автоматизировали большую часть тестов через вызовы веб-сервисов и через парсинг http запросов

это конечно не легко, но в конечно итоге это оправдало себя. 

советую посмотреть в документацию siebel на счет того, как можно обращаться к siebel

In addition to standard way of communication with Siebel server there is another way of Siebel usage based on GET requests and XML responses. Initially it was designed to integrate Siebel with Mobile application but its functionality could be utilized for testing purposes.
The details of this protocol might be read from:
The mentioned XML-protocol has certain limitations with custom controls and services. They can be eliminated by simulating real browser traffic from Java code (dotted “HTML (GET)” line in schema.

(automatizator) #9

Большое спасибо за ссылки, подумаю.
Даже мысли не было, что в случае Siebel'я возможен такой вариант, использовать некое API без настоящего IE.

 

Не могли бы рассказать про возможные грабли при автоматизации  именно Siebel'я с помощью QTP, т.к. этот инструмент тоже рассматривается как возможный?


(Mykhailo Poliarush) #10

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

но я так скажу, что не просто ушли с QTP тестов на API

это правильно во всех перспективах - стоимость, скорость, поддержка