Параметризованные переменные для использования в скрипте Assertion Groovy
По существу, я использую SoapUI для некоторого тестирования дыма и создал сценарий утверждения, который проверяет, есть ли данные в базе данных SQL.
Этот тест должен выполняться в трех различных средах, каждая из которых имеет свои индивидуальные учетные данные базы данных.Что я хотел бы сделать, так это создать Пользовательское свойство (или набор пользовательских свойств) в тестовом классе, который содержит три набора данных базы данных, чтобы позволить тестировщику просто выбрать, в какой среде они находятся. тестирование вместо того, чтобы менять жестко закодированный сценарий утверждения.
Код:
import groovy.sql.Sql
import oracle.jdbc.driver.OracleDriver
def con = Sql.newinstance('"server", "user",
"pass", "oracle.jdbc.driver.OracleDriver"')
def res = con.rows("select * from table1 where message_in = 'Bang'")
log.info(res[0])
con.close()
assert res[0] != null
1 ответ:
Сначала необходимо создать глобальные переменные, для этого выполните следующие действия:
- Нажмите на ссылку проекта, которая расположена в левой части экрана в виде меню просмотра дерева.
- перейдите на вкладку "пользовательские свойства" слева вниз
- Нажмите на значок+, чтобы добавить новое свойство.
После создания переменных для подключения к БД вы можете получить к ним доступ в скрипте groovy, как показано ниже.
import groovy.sql.Sql import oracle.jdbc.driver.OracleDriver def dbServer = context.expand( '${#Project#dbServer}' ) def dbUser = context.expand( '${#Project#dbUser}' ) def dbPass = context.expand( '${#Project#dbPass}' ) def con = Sql.newinstance('dbServer, dbUser, dbPass, "oracle.jdbc.driver.OracleDriver"') def res = con.rows("select * from table1 where message_in = 'Bang'") log.info(res[0]) con.close() assert res[0] != null