Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб3.docx
Скачиваний:
183
Добавлен:
05.06.2015
Размер:
243.37 Кб
Скачать

StoreEval

Эта команда принимает в качестве первого параметра фрагмент JavaScript. В следующем разделе более подробно рассмотрено внедрение JavaScript в язык команд Selenium. “storeEval” позволяет тестовому сценарию сохранять результат исполняемого скрипта в переменной.

JavaScript и параметры языка команд Selenium

JavaScript можно использовать как в параметрах специальных команд, которые принимают на вход фрагмент JavaScript, так и с “обычными” параметрами.

Часто вам нужно внутри фрагмента JavaScript получить доступ к значению некоторой переменной Selenium. Все переменные, создаваемые тестовым сценарием, сохраняются в ассоциативный массив JavaScript, который называется storedVars. В ассоциативном массиве используются строковые индексы, а не последовательные числовые. Для того чтобы получить доступ к переменной или изменить её значение из фрагмента JavaScript, вам следует обращаться к ней, как к storedVars[‘ИмяВашейПеременной’].

Использование JavaScript в параметрах, принимающих фрагмент JavaScript

В Selenium есть несколько команд, принимающих в качестве параметра фрагмент JavaScript: assertEval, verifyEval,storeEval и waitForEval. Параметр не требует специального синтаксиса. Достаточно просто поместить фрагмент JavaScript в подходящее поле, обычно это поле Цель (так как эти команды как правило имеют один параметр).

В примере ниже показано использование фрагмента JavaScript для вычисления значения числового выражения:

Команда

Цель

Значение

store

10

hits

storeXpathCount

//blockquote

blockquotes

storeEval

storedVars[‘hits’]-storedVars[‘blockquotes’]

paragraphs

В следующем примере показано, как можно делать вызовы методов, в данном случае - обращаться к методамtoUpperCase` и ``toLowerCase строковых объектов JavaScript.

Команда

Цель

Значение

store

Edith Wharton

name

storeEval

storedVars[‘name’].toUpperCase()

uc

storeEval

storedVars[‘name’].toLowerCase()

lc

Использование JavaScript в “обычных” параметрах

JavaScript также может применяться в генерации значений для параметров, которые вообще говоря не принимают код на языке JavaScript. В этом случае необходимо использовать специальный синтаксис – фрагмент JavaScript должен быть помещен в фигурные скобки, перед которыми должна быть приписка javascript, вот так: javascript {*этоВашКод*}. Ниже приведен пример, в котором у второго параметра команды type значение генерируется JavaScript-кодом:

Команда

Цель

Значение

store

league of nations

searchString

type

q

javascript{storedVars[‘searchString’].toUpperCase()}

Echo – команда вывода данных на экран

В Selenium существует команда для отображения текста в поле вывода данных вашего теста. Это может пригодиться для отслеживания хода выполнения тестов. Команда echo также будет полезна для обеспечения контекста выводимым результатам тестирования, позволяющего быстрее найти расположение дефекта на странице. И, наконец, с помощью оператора echo можно выводить содержимое переменных Selenium.

Команда

Цель

Значение

echo

Начинаем проверку подвала страницы...

echo

Пользователь - ${userName}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]