2013-02-28 2 views
2

По сути, я использую SoapUI для тестирования дыма и создал сценарий утверждения, который проверяет наличие данных в базе данных SQL.Параметрированные переменные для использования в Assertion Groovy Script

Этот тест должен запускаться в трех разных средах, каждый из которых имеет свои индивидуальные учетные данные.

Что бы я хотел сделать, это создать пользовательское свойство (или набор настраиваемых свойств) в тестовом классе, которое содержит три набора данных базы данных, чтобы тестер мог просто выбрать, какую среду они тестируют, а не для изменения жестко запрограммированного сценария утверждения.

Код:

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 
+0

Выполняется ли это в командной строке? – Will

+0

Нет, SoapUI имеет редактор скриптов Groovy, который может быть выполнен из тестового примера. – iAmBenzo

ответ

1

Вы должны сначала создать глобальные переменные, чтобы сделать это, пожалуйста, выполните следующие действия:

  • Нажмите на ссылку проекта, который находится на левой стороне экран как меню дерева.
  • Нажмите на вкладку «Пользовательские свойства» слева внизу
  • Нажмите на значок +, чтобы добавить новое свойство.

После создания переменных для соединения с БД вы можете получить к ним доступ в строчном скрипте, как показано ниже.

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 
+0

Большое спасибо. – iAmBenzo