Рубрики
Без рубрики

Параметры TestNG – поставщик данных и XML

Параметры тестирования, аннотация Testing @Parameters, xml-элемент параметра TestNG, Параметр набора XML TestNG, Пример xml-параметра тестирования.

Автор оригинала: Pankaj Kumar.

Методы тестирования также могут иметь аргументы. Существует два способа введения аргументов метода:

  1. Использование @dataProvider аннотации – я объяснил об этом в TestNG dataProvider учебнике.
  2. Использование @Параметров аннотации – эта аннотация позволяет нам вводить параметры из файла TestNG XML suite. Мы сосредоточимся на этой аннотации в этом уроке и узнаем, как ее использовать.

Аннотация Параметров тестирования

Некоторые важные моменты, касающиеся аннотации @Parameters, заключаются в следующем:

  • Аннотация @Параметров тестирования может быть применена к @До , @После и @Методам тестирования .
  • Если мы хотим продолжать изменять входные данные нашего метода тестирования, это предпочтительный способ, потому что нам не нужно снова компилировать наши тестовые классы.
  • Аннотация @Parameters требует, чтобы мы предоставили строковый массив имен параметров, которые будут отображаться в xml-файле набора тестов. Количество параметров должно соответствовать количеству аргументов в методе.
  • Мы можем использовать @Необязательно с аргументом метода для предоставления значения по умолчанию, если параметр отсутствует в xml-файле набора тестов.

Параметры в XML-файле TestNG suite могут быть определены на уровне пакета или на уровне теста. Если существуют параметры с одинаковым именем, то параметры теста имеют приоритет и переопределяют значение.

Пример Параметров Тестирования

Теперь, когда мы прошли теоретическую часть, давайте рассмотрим полный пример тестового класса TestNG, где мы будем использовать аннотацию @Parameters.

package com.journaldev.parameters;

import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class TestParameters {

	@Test
	@Parameters("arguments")
	public void singleParameterTest(String s) {
		System.out.println("Testing for input parameter = " + s);
	}

	@Test
	@Parameters({ "id", "name" })
	public void multipleParameterTest(int id, String s) {
		System.out.println("Testing for multiple input parameter = " + id + " and " + s);
	}

	@BeforeSuite
	@Parameters("before_suite")
	public void beforeSuite(String s) {
		System.out.println("Before Suite Parameter = " + s);
	}

	@AfterSuite
	@Parameters("after_suite")
	public void afterSuite(@Optional("Default Parameter") String s) {
		System.out.println("After Suite Parameter = " + s);

	}

}

Вот XML-файл набора тестов:





	
	 
	
		
		 
		
			
		
	

Параметры тестирования Тест XML Suite

Если вы используете плагин Eclipse TestNG, вы можете запустить XML-файл набора тестов напрямую, как показано на рисунке ниже.

Мы получим следующий вывод в консоли eclipse.

[RemoteTestNG] detected TestNG version 6.14.3
Before Suite Parameter = My Before Suite Parameter
Testing for multiple input parameter = 100 and JournalDev
Testing for input parameter = Pankaj
PASSED: multipleParameterTest(100, "JournalDev")
PASSED: singleParameterTest("Pankaj")

===============================================
    Default test
    Tests run: 2, Failures: 0, Skips: 0
===============================================

After Suite Parameter = Default Parameter

===============================================
Default suite
Total tests run: 2, Failures: 0, Skips: 0
===============================================

Мы также можем запустить XML-файл набора тестов из командной строки через org.testng.TestNG Класс. Все ваши тестовые классы и тестовые банки должны находиться в пути к классам.

$java -cp .:../../lib/testng-6.14.3.jar:../../lib/jcommander-1.72.jar:../../lib/bsh-2.0b6.jar org.testng.TestNG test_parameters.xml

Это все для примера параметров тестирования.