внешний js файл в Selenium ide и Python


(falke5) #1

Добрый день!

Писал тест на селениум ide написал уже давольно таки приличный код в html порядка 4000 строк.

В коде постоянно использовал безусловный переход gotolabel ([unknown command [gotolabel]]),метки label([unknown command [label]]) , условие getEval([ERROR: Unsupported command [getEval]]),переменные getExpression([ERROR: Unsupported command [getExpression]]).

В Selenium ide весь код работает на ура и всё это благодаря подключённому внешнему js( который скачал с http://siderulezzz.wordpress.com/2010/06/15/6/), дак вот, когда я надумался интерпретировать код в Python  webdriwer, сразу возникла проблема типа # ERROR: Caught exception [unknown command [gotolabel]] и такие ошибки по всему коду, про запуск из консоли файла user1.py вообще молчу, подскажите можно как то обойти эту проблему?

Заранее спасибо!


(Mykhailo Poliarush) #2

ну вопрос в том, что форматер, который встроен в selenium ide ничего о ваших доп. конструкциях не знает

тут два пути, или потом заменять нужными командами все поля где возникают вот такие сообщения

или дописать форматер самому

http://wiki.openqa.org/display/SIDE/Adding+Custom+Format


(falke5) #3

а форматер дописывать где именно нужно в самом селениуме Options-Formats-Python webdriver и где то в Header?


(falke5) #4

и можно ли как то что бы не писать самому код использовать js?

 


(Mykhailo Poliarush) #5

 

можно, тогда надо других людей попросить, чтобы они написали

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


(Mykhailo Poliarush) #6

для того чтобы сделать форматер, нужно писать код на javascript

если есть такие навыки, то можно просто взять уже существующий форматер и его допилить


(falke5) #7

в яваскрипт не силён, начальник посоветовал взять написаную функцию на яваскрипте и переписать такую на на пайтон, добавить её в код и вызывать на месте ошибок, такой вариант пойдёт?есть смысл ломать голову над питоном?


(falke5) #8

вычитал в нете

А вы запускаете свои тесты только через Селениум ИДЕ?
Подключила “goto_sel_ide.js” к селениум-серверу
(java -jar selenium-server.jar -userExtensions user-extensions.js).
Запускаю хтмл тесты через селениум-сервер,
но тест останавливается на новых командах “gotolabel”,
пишет “Command execution failure.”.

----

В этой конфигурации – да, только через IDE.

Selenium RC использую в связке с Java в Eclipse, и там в подобных кунштюках нет необходимости. Там и переходы (вызовы) к определенным методам, и логика “если случится а, тогда сделай б” представлены в полном объеме согласно мощностям и возможностям Java.

 

Как понял, те команды не используются в других языках и теперь придётся самому вручную переписывать огромнейший код, или как вариант остаться на Selenium ide=) Спасибо за ответы!