2016-07-05 2 views
-1

Как вы можете выполнить тестовый XML-файл из графического интерфейса Java.Запуск классов из Java GUI

Например, в графическом интерфейсе у вас есть текстовое поле, в котором вы указываете путь к файлу XML, а затем нажмите кнопку запуска. Затем код внутри кнопки запуска выполнит какой-либо XML-файл, которому вы предоставили путь.

+1

a) Как вы «запускаете» XML-файл? б) Как это связано с запуском java-классов? c) [** "теология" **] (https://en.wikipedia.org/wiki/Theology) - wtf ?? – Fildor

+0

@Fildor a) В автоматическом тестировании вы указываете свои тесты в файле XML и запускаете этот файл для запуска своих тестов. B) Поскольку некоторые люди могут не знать о автоматическом тестировании, я предполагал, что одна и та же теория, лежащая в основе запуска java-класса, будет одинаковой , код просто вызывает то, на что он указывает. C), которая была большой ошибкой правописания, должна была быть «теорией» – colin

+0

ОК, поэтому вы говорите о конфигурации-xml для автоматического тестирования. Это было совсем не ясно. Каков ваш тестовый движок? Должно быть возможно в целом. – Fildor

ответ

2

Как было установлено ранее, вы не можете «запустить» файлы XML. Они структурированные данные, которые сами по себе ничего не делают. Однако вы упомянули TestNG, поэтому я предполагаю, что файлы XML обрабатываются TestNG.

Вам понадобится интегрировать TestNG с вашей программой и реализовать базовый файловый помощник, чтобы получить путь к файлу XML, передав его в TestNG и разрешив ему делать то, что он делает. Совершенно выполнимо, я бы представлял, хотя я не знаком с TestNG API.

Не нужно даже беспокоиться о пользовательских загрузчиках классов.

+0

Спасибо, я начинаю понимать больше. Это имеет смысл, когда вы говорите о тестировании TestNG XML. – colin

1

Когда я правильно вас понимаю, вы хотите реализовать свою собственную тестовую структуру и хотите знать, как вызывать методы, создавать объекты из разных файлов классов проектов.

Это возможно с использованием API отражения Javas. Во-первых, вы должны вызвать загрузчик классов:

ClassLoader classLoader = ClassLoader.getSystemClassLoader(); 
String testClassName = "my.example.TestClass"; 
Class testClass = classLoader.loadClass(testClassName); 

После этого, вы можете назвать «newInstance()», чтобы создать объект вашего ранее загруженного класса. Метод getMethod() "может использоваться для получения объекта Method, который можно вызвать с помощью функции" invoke() ".

Вы также можете найти много информации об API отражения в google и stackoverflow. Первый удар по Google, например,:

http://viralpatel.net/blogs/java-dynamic-class-loading-java-reflection-api/

+0

Я обновил свой вопрос так же, как вы ответили, как люди, которые путаются. Я не знаком с этим, поэтому я не знаю, подходит ли ваш ответ или нет, но я буду изучать его, спасибо. – colin

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