Перейти к содержимому

Программирование на Python для тестировщиков
онлайн, начало 23 октября
Тестирование безопасности
онлайн, начало 28 октября
Школа для начинающих тестировщиков
онлайн, начало 22 октября
Автоматизатор мобильных приложений
онлайн, начало 28 октября
Фотография

Как закодировать список выполняемых тестов?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 DrBlast

DrBlast

    Активный участник

  • Members
  • PipPip
  • 139 сообщений
  • ФИО:Евгений
  • Город:Москва

Отправлено 13 апреля 2012 - 13:06

Использую Java+Selenium+TestNg+maven
Сейчас: Тесты запускаются из под Hudoson все вместе.
Список запускаемых тестов хранится в testng.xml
Проект запускается как проект Testng suite.

Надо: настроить проект так, чтобы можно было запускать только отдельные тесты в хадсоне.

Нашел еще одину возможность запуска тестов:
final TestNG testNG = new TestNG(true);
final Parser parser = new Parser("src/test/resources/testng.xml");
final List<XmlSuite> suites = parser.parseToList();
testNG.setXmlSuites(suites);
testNG.run();

Теоретически можно в зависимости от передаваемых параметров можно парсить xml и запускать только те тесты, которые необходимо. Но все нужные методы доступные для переменной suites возвращают XmlTest.
Может кто подскажет, как распарсить XmlTest?
Или какой-нибудь другой способ передавать параметры отвечающие за запуск/пропуск теста? Спасибо.
  • 0
Если ничего не помогает, прочтите наконец инструкцию!

#2 Vitalik_V

Vitalik_V

    Активный участник

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 13 апреля 2012 - 13:21

Использую Java+Selenium+TestNg+maven
Сейчас: Тесты запускаются из под Hudoson все вместе.
Список запускаемых тестов хранится в testng.xml
Проект запускается как проект Testng suite.

Надо: настроить проект так, чтобы можно было запускать только отдельные тесты в хадсоне.

Нашел еще одину возможность запуска тестов:

final TestNG testNG = new TestNG(true);
final Parser parser = new Parser("src/test/resources/testng.xml");
final List<XmlSuite> suites = parser.parseToList();
testNG.setXmlSuites(suites);
testNG.run();

Теоретически можно в зависимости от передаваемых параметров можно парсить xml и запускать только те тесты, которые необходимо. Но все нужные методы доступные для переменной suites возвращают XmlTest.
Может кто подскажет, как распарсить XmlTest?
Или какой-нибудь другой способ передавать параметры отвечающие за запуск/пропуск теста? Спасибо.

А что из себя представляет Ваш testng.xml?
  • 0

#3 DrBlast

DrBlast

    Активный участник

  • Members
  • PipPip
  • 139 сообщений
  • ФИО:Евгений
  • Город:Москва

Отправлено 13 апреля 2012 - 13:27

А что из себя представляет Ваш testng.xml?


Примерно так:
<suite name="Suite" parallel="none">
	<test name="jDocTest" preserve-order="true">
		<classes>
			<class name="ru.testing.Doc.TestSummary">
				<methods>
					<include name="runAuthTest" />
					<include name="runTestOutgoing" />
					<include name="runTestInner" />
					<include name="runTestIncoming" />
					...
				</methods>
			</class>
		<classes>
	</test>
</suite>

  • 0
Если ничего не помогает, прочтите наконец инструкцию!

#4 Vitalik_V

Vitalik_V

    Активный участник

  • Members
  • PipPip
  • 149 сообщений
  • ФИО:Виталий
  • Город:Харьков

Отправлено 13 апреля 2012 - 13:45


А что из себя представляет Ваш testng.xml?


Примерно так:
<suite name="Suite" parallel="none">
	<test name="jDocTest" preserve-order="true">
		<classes>
			<class name="ru.testing.Doc.TestSummary">
				<methods>
					<include name="runAuthTest" />
					<include name="runTestOutgoing" />
					<include name="runTestInner" />
					<include name="runTestIncoming" />
					...
				</methods>
			</class>
		<classes>
	</test>
</suite>

По моему оптимальный вариант, это разделить тесты по группам и параметром передавать нужные группы. http://testng.org/do...tml#test-groups
  • 0

#5 DrBlast

DrBlast

    Активный участник

  • Members
  • PipPip
  • 139 сообщений
  • ФИО:Евгений
  • Город:Москва

Отправлено 13 апреля 2012 - 14:33

По моему оптимальный вариант, это разделить тесты по группам и параметром передавать нужные группы. http://testng.org/do...tml#test-groups


А какая разница? Видимо не совсем понял как сделать..

@Test(groups = { "windows.checkintest" })
  public void testWindowsOnly() {
  }

Название группы - константа, поэтому из мавена мы получить ее не можем...
Или нужно каким-то образом программно, зная параметры компоновать из них тест-сьют?
  • 0
Если ничего не помогает, прочтите наконец инструкцию!

#6 DrBlast

DrBlast

    Активный участник

  • Members
  • PipPip
  • 139 сообщений
  • ФИО:Евгений
  • Город:Москва

Отправлено 13 апреля 2012 - 14:59

Частично разобрался:
получаем:
final TestNG testNG = new TestNG(true);
final Parser parser = new Parser("src/test/resources/testng.xml");
String groups = "auth,createdocs.*";
testNG.setGroups(groups);
testNG.run();

ТОлько правда надо как-то задать тест-сьют еще:

[TestNG] [ERROR] No test suite found. Nothing to run
Usage: <main class> [options]


  • 0
Если ничего не помогает, прочтите наконец инструкцию!

#7 DrBlast

DrBlast

    Активный участник

  • Members
  • PipPip
  • 139 сообщений
  • ФИО:Евгений
  • Город:Москва

Отправлено 16 апреля 2012 - 11:56

В общем решил задачу)
Даже получилось, что 2мя способами
1. через группы: проставляем группы в testng.xml
List<String> suites = Lists.newArrayList();
		suites.add("src/test/resources/testng.xml");
		String groups = "auth,createdocs.*";		
		testNG.setGroups(groups);
		testNG.setTestSuites(suites);
		testNG.run();

2. Прочитать xml. Вычистить ненужные узлы Include, записать новую xml и ее подавать на вход в suites.add(...);
  • 0
Если ничего не помогает, прочтите наконец инструкцию!

#8 DrBlast

DrBlast

    Активный участник

  • Members
  • PipPip
  • 139 сообщений
  • ФИО:Евгений
  • Город:Москва

Отправлено 17 апреля 2012 - 09:22

Что-т не понимаю...
Указанный мною способ через мавен не работает. Нагуглил еще один. в pom.xml указываются группы тестов для запуска.
<configuration>
   <groups>${test.groups}</groups>

Но! при запуске одна группа запускается 24раза... а другая 0.. При этом числа 24 нигде в коде или в настройках проекта нет :crazy: magic numbers блин...
  • 0
Если ничего не помогает, прочтите наконец инструкцию!


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале