Коллеги, здравствуйте!
Я впервые столкнулся с задачей работы с JSON-конфиг. файлом.
Есть такой конфиг в формате JSON (вид привожу сокращенный):
{ "conturs": { "test": [ { "baseurl": "http://bank.devel.ifr/", "AU": { "login": "Anisimov", "password": "123456" }, "OTUR": { "login": "interfax_ot_ur", "password": "123456" } } ] } }
Я научился читать в build.gradle параметры из этого JSON:
task test1(type: Test) { useTestNG(){ suites 'src/test/resources/testng-message-AU.xml' } if (project.hasProperty('role')) { systemProperty 'role', "${role}" if("AU".equals(System.getProperty("role"))) { doLast { def jsonFile = file('config/config.json') def parsedJson = new groovy.json.JsonSlurper().parseText(jsonFile.text) String login = parsedJson.conturs.test.AU.login String password = parsedJson.conturs.test.AU.password println login println password } } } }
Т.е. из командной строки запуска выбирается роль (${role}). В данном примере это роль "AU".
Далее считываю логин и пароль из конфига для данной роли.
Но не получается передать найденный логопас через System Property в фикструру тестов.
Например, пробовал дописать в данную task функцию
System.properties.'login'=login
Однако System.getProperty("login") в фикстуре неизменно получает null.
Коллеги, сталкивались ли вы с подобной задачей? Подскажите, пожалуйста, - как решали?
Или может быть вообще какой-то другой путь есть для работы с JSON-конфигом.