Как создать вложенные тестовые наборы для Selenium IDE? - PullRequest
10 голосов
/ 07 января 2010

Мне нужно создать вложенный набор тестов в Selenium, который будет работать в Selenium IDE или Selenium TestRunner. Это в основном структура, которую я пытаюсь достичь:

MasterTestSuite.html
 - ComponentTestSuite.html
    - TestCase1.html
    - TestCase2.html
 - OtherComponentTestSuite.html
    - TestCase3.html
    - TestCase4.html

Мне НУЖНО быть в состоянии достичь чего-то эквивалентного этому. Я начал пробовать расширение Include, которое позволяет мне включать содержимое другого тестового примера, но у меня возникают проблемы с ним. Как вы этого добились? Какой совет вы можете дать, как помочь мне достичь этого?

Ответы [ 6 ]

3 голосов
/ 13 июня 2013

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

Однако, если вы действительно хотите выполнить свою ситуацию, вы можете разработать собственную пользовательскую функцию JavaScript, которая вызывает другие функции (или другие тестовые случаи).

1 голос
/ 28 апреля 2015

У меня есть несколько десятков наборов тестов, встроенных в Selenium IDE, чтобы помочь с тестированием моего плагина Store Locator Plus для WordPress. Иногда мне нужно запустить один набор тестов Selenium. Однако, когда я выпускаю новую версию базового плагина, я хочу запустить дюжину тестовых пакетов один за другим.

Хотя это не совсем подходит для вашего случая создания нескольких «основных наборов», я нашел пару плагинов Selenium IDE, которые позволяют мне создать один «список избранных наборов» и запустить все мои любимые к спине.

Может быть возможно исследовать и изменить плагин JavaScript, чтобы создать несколько разных «списков избранного», которые могут удовлетворить ваши потребности. Тем временем вы можете получить хотя бы один «основной список пакетов», комбинируя следующие дополнения Selenium IDE:

После установки каждого из этих дополнений (технически плагинов Mozilla Firefox) вы увидите кнопку избранного в интерфейсе Selenium IDE. Отметьте ваши любимые апартаменты, и вы получите свой «список». Теперь вы можете выбрать «Избранное / Выполнить все» в меню Selenium IDE.

Возможно, вы захотите быть осторожным с последовательностью, в которой вы отмечаете свои избранные. Я пометил их в том порядке, в котором я хотел их запустить. Откройте набор тестов № 1, избранное, набор тестов № 2, избранное и т. Д., Затем «запустите все». Работал отлично и показывает мне общее количество выполненных и неудачных подсчетов по всем наборам (и таким образом тестам), которые были выполнены. К сожалению, журнал, кажется, сбрасывается в каждом комплекте.

1 голос
/ 20 мая 2010

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

Существуют «роботы» с открытым исходным кодом или свободным программным обеспечением, такие как http://www.xqual.com/ XStudio. Я попробовал это немного и справляюсь с работой, но работать с ней довольно грязно, но хорошо, если ваша тестовая среда не часто меняется. Здесь вы можете запускать автоматическое выполнение ежедневно и т. Д. И сообщать о результатах.

Ура, Stefan

1 голос
/ 08 января 2010

Насколько я знаю, Selenium IDE не поддерживает это. Большинство людей делают это, создавая отдельные тестовые наборы и управляя ими индивидуально.

Я делаю это в C # / NUnit, создавая файл * .cs для каждой основной области, а затем устанавливая категории для каждого из тестов, чтобы получить дополнительную детализацию

, например

namespace Test.The.World
{
   [TestFixture]
   public class UK 
   {
      [Test]
      [Category("Southern Counties")]
      public void Sussex_Brighton(){
          .....
      }
      [Test]
      [Category("Southern Counties")]
      public void Hampshire_Southampton(){
          .....
      }
   }
}

А затем используйте функциональность NUnit для запуска тестов соответственно.

Я уверен, что большинство фреймворков для большинства языков имеют такую ​​функцию

0 голосов
/ 29 декабря 2010

Это должно быть там в mainsuite.

    public static Test suite() {
    TestSuite testSuite = new TestSuite();
    testSuite.addTest(ComponentTestSuite1.suite());
    testSuite.addTest(OtherComponentTestSuite2.suite());
    }
0 голосов
/ 13 октября 2010

Вам нужен SeleniumRC и какой-нибудь инструмент языка программирования для написания и запуска тестов. SeleniumIDE позволяет сохранять тест на нескольких языках (C #, JAVA, PHP, Python и т. Д.) Используйте тот, с которым вы знакомы. Также без SetUp и TearDown трудно делать хорошие тесты. Selenium IDE не позволяет использовать эти методы.

...