Использование Selenium IDE со случайными значениями - PullRequest
44 голосов
/ 02 октября 2008

Можно ли создавать тесты Selenium с помощью плагина Firefox, который использует случайно сгенерированные значения для проведения регрессионных тестов?

Полная история: Я хотел бы помочь моим клиентам выполнить приемочное тестирование, предоставив им набор тестов, использующих некоторые смарты для создания случайных (или, по крайней мере, псевдослучайных) значений для базы данных. Одна из проблем с моими тестами Selenium IDE на данный момент заключается в том, что они имеют предопределенные значения, что делает некоторые типы тестирования проблематичными.

Ответы [ 12 ]

0 голосов
/ 18 мая 2012

Selenium RC дает вам гораздо больше свободы, чем Selenium IDE, в этом вы можете:

  • (1) Введите любое значение в определенное поле
  • (2) Выберите любое поле для проверки в определенной HTML-форме
  • (3) Выберите любой порядок выполнения / шаг для проверки определенного набора полей.

Вы спрашивали, как ввести случайное значение в поле с помощью Selenium IDE, другие люди ответили вам, как генерировать и вводить случайные значения в поле с помощью Selenium RC. Это входит в фазу тестирования (1): «Введите любое значение в определенное поле».

Используя Selenium RC, вы можете легко выполнить этапы (2) и (3): протестировать любое поле на любом этапе выполнения, выполнив некоторое программирование на поддерживаемом языке, таком как Java, PHP, CSharp, Ruby, Perl, Python.

Ниже приведены шаги для выполнения фазы (2) и (3):

  • Создайте список ваших полей HTML, чтобы вы могли легко перебирать их
  • Создать случайную переменную для управления шагом, скажем, RAND_STEP
  • Создать случайную переменную для управления полем, скажем, RAND_FIELD
  • [В конце концов, создайте случайную переменную для управления значением, введенным в определенное поле, например, RAND_VALUE, если вы хотите выполнить phase (1)]
  • Теперь, внутри вашего алгоритма фаззинга, итерируйте сначала значения RAND_STEP, затем при каждой такой итерации итерируйте RAND_FIELD, а затем, наконец, итерируйте RAND_VALUE.

См. мой другой ответ о тестировании фаззинга, тестировании селеном и белом / черном ящике

0 голосов
/ 14 марта 2012

Вот еще один вариант на примере Gmail:

<tr>
  <td>runScript</td>
  <td>emailRandom=document.getElementById('email');console.log(emailRandom.value);emailRandom.value=&quot;myEmail+&quot; + Math.floor(Math.random()*11111)+ &quot;@gmail.com&quot;;</td>
 <td></td>
</tr>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...