Как использовать Selenium для хранения значений между тестами - PullRequest
5 голосов
/ 03 октября 2011

Selenium имеет возможность временно сохранять элементы данных, а затем извлекать их в последующих тестах, например,

storeText | @id='ctl00_ContentPlaceHolder1_FormView1' | someValue

Это хорошо работает в рамках одного теста, а также между тестами в одном и том же наборе тестов, когда значениенеобходимо перенести через границы испытаний.К сожалению, он не работает между тестовыми наборами (что является требованием для нашего приложения, которое включает в себя несколько рабочих процессов, ссылающихся на один и тот же объект).Как можно использовать Selenium для хранения значений за пределами Test Suite?

Ответы [ 2 ]

4 голосов
/ 03 октября 2011

Можно сохранить значения из теста Selenium в локальном хранилище браузера с помощью javascript, например, если ранее значение было сохранено в someValue :

getEval | this.browserbot.getUserWindow().localStorage.setItem("someValue",storedVars['someValue'])
assertEval | this.browserbot.getUserWindow().localStorage.getItem("someValue") | ${someValue}
storeEval | this.browserbot.getUserWindow().localStorage.getItem("assetLabel") | someValue

В этом случае this.browserbot.getUserWindow () возвращает окно приложения.Это сохранит someValue в локальном хранилище, откуда его впоследствии можно будет извлечь обратно в хранимые переменные Selenium.

0 голосов
/ 03 октября 2011

Вы также можете реализовать постоянство в коде, который выполняет ваши тесты Selenium. Если вы используете RC, это будет довольно тривиально. (т. е. просто прямые запросы к базе данных для вставки / обновления, а затем извлечения).

Если вы используете Selenese и не имеете доступа к API для постоянного хранения, вы также можете создать маленькую быструю и грязную веб-страницу, чтобы сохранить данные в базе данных, а затем прочитать ее для последующих тестовых прогонов. Очевидно, что это не идеальный вариант, но он должен работать, если вы не можете получить доступ к хранилищу данных непосредственно из своих тестов.

...