Selenium store результат веб-сервиса / AJAX-вызов - PullRequest
1 голос
/ 15 июля 2011

Можно ли сохранить результат вызова веб-службы / AJAX в элементе store, чтобы его значение можно было использовать в нескольких местах.

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

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

Ответы [ 2 ]

0 голосов
/ 31 июля 2011

Введенное расширение пользователя: http://wiki.openqa.org/display/SEL/global использует глобальный массив globalStoredVars, который вы сможете использовать. Недавно я начал тестировать мультиязычный сайт, используя Selenium с javascript, см. Тестирование - мультиязычный сайт с селеном

0 голосов
/ 17 июля 2011

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

Команда: открыть
Цель: --path--
Значение:

Команда: storeExpression
Цель: 123
Значение: var_number

Команда: введите
Цель: TextBox1
Значение: $ {var_number}

Затем используйте опцию экспорта в Selenium IDE в качестве кода Java (или другого языка). У вас не будет параметров> Формат>, если вы не включите «Включить экспериментальные функции» в настройках. Выберите «JUnit 4 (Remote Control или RC)» - Selenium 1. Я еще не знаком с «JUnit 4 (WebDriver)» - Selenium 2, но он немного новее и не так много документации. Затем загрузите Eclipse Classic, Java JDK, драйвер клиента Selenium для Java (на сайте Selenium) - dll # 1, и загрузите JUnit 4 - dll # 2. Импортируйте оба этих dll-файла на вкладку «Библиотека» (в Eclipse classic) после создания нового проекта в мастере проектов и откройте код экспорта, который был экспортирован с использованием экспорта в формате Selenium IDE. Eclipse должен быть настроен на автоматическую компиляцию кода по умолчанию. Затем просто создайте цикл в коде Java и повторите приведенные выше команды. Затем подключитесь к базе данных из Java (с помощью простого кода подключения SQL) и прочитайте данные из результирующего набора внутри цикла. Затем щелкните правой кнопкой мыши в обозревателе файлов Eclipse и выберите JUnit в модульном тесте, чтобы запустить экземпляр Mozilla Firefox, чтобы он автоматизировал ваш цикл. Или вы можете запустить любой другой браузер для запуска теста JUnit ... просто измените "* chrome" (он же Mozilla, а не Google Chrome) на "* iexplore" (Internet Explorer) или "* googlechrome" (Google Chrome) и т. Д ... для браузера на ваш выбор в коде Java.

Прошу прощения за мой жаргон на "файлах DLL". Я имел в виду писать сборки или библиотеки. В Java правильным термином будет * .jar. Я использую для написания кода .NET. Если вы решите запустить свои модульные тесты в .NET, вам нужно будет повторить большую часть того, что я имею выше, но вместо этого скачайте NUnit и используйте Visual Studio, а не Eclipse. Документация для JUnit намного лучше, поэтому я пошел по этому пути. Это утверждение может быть неверным. Это именно то, что я нашел правдивым из наблюдений, когда я сделал подтверждение концепции для моей компании.

Да, и поскольку вы используете клиентские драйверы, вам необходимо подключить программу Java (JUnit Test) к серверу Selenium Remote Control Server. Таким образом, вы также должны загрузить сервер Selenium. Затем вызовите Jar из командной строки в Windows. Он должен быть запущен до запуска вашего теста JUnit. Этот сервер не будет работать, если JDK не установлен на вашем компьютере!

java -jar selenium-server-standalone-2.0rc3.jar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...