Как создать массив в Selenium IDE.


(roman_ua) #1

Задача стоит следующего характера. Необходимо создать массив с элементами (локаторами) и рендомно вызывать клики по ним.


(Mykhailo Poliarush) #2

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

Касательно твоего вопроса, тут тебе нужно тогда писать свое действие с помощью JavaScript в User-Extentions.js который можно будет подключить в Selenium IDE.

Пример такого скрипта можно посмотреть здесь http://svn.ckeditor.com/FCKtest/runners/selenium/scripts/user-extensions.js.sample


(roman_ua) #3

Да, я бы так и сделал, но проблема которую я описывал ранее про некликабельный(SVG внутри object для webdriver непрозрачный, он внутри него не видит элементов) элемент не дает такой возможности.


(roman_ua) #4

Тест в Selenium IDE написал таки.


(roman_ua) #5

Выглядит тест где то так:

storeEval | new Array("someLocator1","someLocator2","someLocator3") | myArray
getEval | test=0 | 
storeEval | 0 | index
while | storedVars['index'] < storedVars['myarray'].length; | 
storeEval | parseInt(Math.random()*storedVars['myarray'].length) | test
storeEval | storedVars['myarray'][storedVars['test']] | locator
verifyElementPresent | ${locator} | elementExists
gotoIf | !(selenium.isElementPresent(storedVars['locator'])==true) | afterClick
click | ${locator}  | 
label | afterClick | 
getEval | storedVars['index']++; | 
echo | ${storedVars['locator']} | 
echo | ${test} | 
echo | ${index} | 
endWhile

(Александр Таранков) #6

А ты не пробовал использовать не webdriver, а selenium rc? Раз selenium ide умеет кликать в svg, может и selenium RC сможет? На нем хоть можно по-нормальному код писать. А то что ты привел - это ужас какой-то, а не код.


(roman_ua) #7

Кстати, да надо было так и сделать, но сделал на скорую руку =) а вообще клик по элементу в Selenium RC получается совершить.


(Максим Малунов) #8

Без емнип двух плагинов это работать не будет ?

while особенно


(roman_ua) #9

Нет, не будет работать