2013-12-03 4 views
0

Я работаю над проектом Selenium. Я запускаю TestNG программно, потому что мне нужен основной метод, потому что я создаю файл .jar через плагин maven-shade, содержащий все зависимости.Как получить аргументы из основного метода для тестирования класса

public class EDITestApp { 
public static void main(String[] args) {   
    TestListenerAdapter tla = new TestListenerAdapter(); 
    TestNG testng = new TestNG(); 
    Class[] classes = new Class[]{ 
      LoginTest.class, 
      ContractorsTest.class, 
      ActiveContractorsTest.class, 
      InvitedContractorsTest.class, 
      CancelledContractorsTest.class, 
      MainPageTest.class 
    }; 
    testng.setTestClasses(classes); 
    testng.addListener(tla); 
    testng.run(); 
} 

Я хочу, чтобы мой .jar файл со всеми моими испытаниями для запуска с аргументами командной строки, содержащие, например, аргумент, который устанавливает браузер, который будет запускать тесты. Можно ли получить этот аргумент из моих тестовых классов, которые создают экземпляр драйвера с определенным браузером или мне нужно создать динамически testng.xml в основном методе и установить свойства в .xml-файле?

ответ

1

Вы можете передать аргументы cmd в качестве параметров ваших тестов. Я проверил класс TestNG api и не предоставил вам такую ​​возможность. Но есть один класс, который делает - XmlSuite(). Вы добавляете все классы в XmlSuite, а затем добавляете набор в TestNG с помощью setXmlSuites(). XmlSuite позволяет определять параметры с помощью setParameters().

Образец code-

XmlSuite suite = new XmlSuite(); 
suite.setParameters(suiteParameters - you can use a map(key,value)); 
classes = new ArrayList<XmlClass>(); 
classes.add(new XmlClass(fullClassName)); 
--here add all the required test class to classes object. 
test.setXmlClasses(classes); 
List<XmlSuite> suites = new ArrayList<XmlSuite>(); 
suites.add(suite); 
TestNG tng = new TestNG(); 
tng.setXmlSuites(suites); 
tng.run(); 

Позвольте мне знать, если вам нужна дополнительная помощь по этому вопросу.

Смежные вопросы