2017-01-25 6 views
0

У меня есть несколько окружающей среды и много тестов, но необходимо работать во всех условиях, не во всех случаях тестирования. Существует ли способ запуска только определенных тестовых примеров из тестового набора на основе выбранной среды.Как запустить конкретный случай испытания в выбранной среде в SoapUI

Для примера Если я выбираю среды1, он будет работать в следующих случаях тест

TC0001 
TC0002 
TC0003 
TC0004 
TC0005 

Если я выбираю Environment2, он будет работать только в следующих случаях тест

TC0001 
TC0003 
TC0005 
+0

Добро пожаловать в Stack Overflow, пожалуйста, найдите время, чтобы следовать [переполнением стека тур] (http://stackoverflow.com/tour) и прочитать о (HTTP [Как задать хороший вопрос?]: // StackOverflow .com/help/how-to-ask) Также предоставьте нам соответствующий код, который вы написали для своего вопроса (вы также можете прочитать [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve)) –

ответ

2

Там могут быть разные решение для достижения этого, поскольку у вас есть несколько сред, то есть используемое программное обеспечение.

Я бы достичь решения с помощью Test Suite «s Setup Script:

  • Создать Test Suite уровень пользовательского свойства. Используйте то же имя, что и имя вашей среды. Например, DEV - это определяемая среда, используйте то же самое, что и имя свойства тестового набора, и укажите список значений, разделенных запятой, как значение для этого свойства, например TC1, TC2 и т. Д.,
  • Аналогично определены другие среды и значения.
  • Скопируйте ниже сценарий в Setup Script для тестов и выполнить скрипт, который позволяет или отключает тестовые случаи в соответствии с окружающей среды и стоимости имущества

Test Suite в Setup Script

/** 
* This is soapui's Setup Script 
* which enables/disables required 
* test cases based on the user list 
* for that specific environment 
**/ 
def disableTestCase(testCaze) { 
    testCaze.disabled = true 
} 

def enableTestCase(testCaze) { 
    testCaze.disabled = false 
} 

def getEnvironmentSpecificList(def testSuite) { 
    def currentEnv = testSuite.project.activeEnvironment.NAME 
    def enableList = testSuite.getPropertyValue(currentEnv).split(',').collect { it.trim()} 
    log.info "List of test for enable: ${enableList}" 
    enableList 
} 

def userList = getEnvironmentSpecificList(testSuite) 
testSuite.testCaseList.each { kase -> 
    if (userList.contains(kase.name)) { 
     enableTestCase(kase) 
    } else { 
     disableTestCase(kase) 
    } 
} 

Другой способ для этого используется Event функция ReadyAPI, вы можете использовать TestRunListener.beforeRun() и фильтровать тестовый пример, выполнять или игнорировать.

EDIT: Если вы используете ReadyAPI, то вы можете новая функция под названием tag тестов. В тестовом примере можно отметить несколько значений, и вы можете выполнять тесты с использованием определенных тегов. В этом случае вам может не понадобиться setup script, как и для версии с открытым исходным кодом. Для получения дополнительной информации см. documentation. Это решение является специфичным только для Pro программного обеспечения и Open Source Edition имеет эту функцию tag.

+0

Как вы можете это сделать в Event .. Я использую Pro SoapUI – raiqee

+0

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

+0

Я столкнулся с ошибкой в ​​этой строке def userList = getEnvironmentSpecificList (testSuite) ..Ошибка в этом [link] (https://www.screencast.com/t/d4twV54IOduU) – raiqee

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

  • Нет связанных вопросов^_^