working with soapui properties soapui tutorial 8
Цей підручник стосується властивостей SoapUI. В останньому уроці SoapUI, який ми бачили як додати властивості в скрипті Groovy .
Власність у МИЛО подібний до змінної / параметра, і в цьому підручнику ми поговоримо про те, як використовувати його у запиті на послугу та призначити йому значення відповіді за допомогою сценаріїв. Пізніше ми перейдемо до етапу тестування передачі властивостей, а потім імпортуємо властивості.
Це 8-й підручник у нашому Інтернет-навчання SoapUI серії.
Що ви дізнаєтесь із цього підручника SoapUI?
- Різні обличчя властивостей
- Інтеграція властивостей у запит на обслуговування
- Розуміння тестового кроку щодо передачі майна
- Завантажувати властивості зовні
Є дватипи властивостей у SoapUI:
- Властивості за замовчуванням : входить до інсталяції SoapUI. Ми можемо редагувати деякі властивості за замовчуванням, але не всі.
- Спеціальні / визначені користувачем властивості : Вони визначаються нами на будь-якому необхідному рівні, наприклад, глобальному, проекті, наборі тестів, кейсі або етапі тестування.
Найчастіше властивості звикли зберігати та отримувати дані під час виконання тестів. Внутрішньо властивість буде зберігати значення у форматі пари ключів.
Наприклад , у наведеному нижче твердженні “Local_Property_FromCurrency” - це ім’я ключа, а “USD” посилається на значення. Щоб отримати доступ до значення властивості, нам потрібно використовувати назву властивості.
testRunner.testCase.testSteps (“Властивості”). setPropertyValue
(' Local_Property_FromCurrency ', «Доларів США» )
Що ви дізнаєтесь:
- Різні рівні властивостей у SoapUI Pro
- Детальніше про властивості на прикладах
- Використання властивостей у сервісах
- Передача майна
- Висновок
- Рекомендована література
Різні рівні властивостей у SoapUI Pro
Давайте обговоримо різні рівні властивостей у SoapUI Pro. У SoapUI доступні три рівні властивостей.
Рівень No1. Властивості проекту та власності
На цьому рівні властивості розділені на два розділи. Вони є властивостями проекту та властивостями. Вони з’являться внизу панелі навігатора, коли ми натискаємо назву проекту. Розділ властивостей проекту має властивості за замовчуванням, які створюються під час створення проекту, наприклад, Ім'я, Опис, Файл тощо.
Для того, щоб створити власні властивості, ми можемо скористатися вкладкою власні властивості. Клацніть на значок плюса, щоб створити властивості:
Доступно багато інших опцій, таких як видалення, переміщення вгору, переміщення вниз та сортування поруч із додаванням. Будь-яка кількість власних властивостей може бути додана та використана будь-якими розділами (тестовий пакет, тестові кейси) у рамках проекту.
Рівень No2. Тестовий набір та власні властивості
Ці властивості видно лише в наборі тестів. Набір тестів може містити будь-яку кількість властивостей, і доступ до них можна отримати з будь-яких етапів тесту, які належать до зазначеного набору тестів.
Властивості тестового набору з’являються при натисканні на відповідну назву тестового набору в рамках проекту. Щоб додати власні властивості за потреби, натисніть вкладку власні властивості та клацніть на знак «+» під нею.
Властивість №3. Тестовий приклад та власні властивості
Властивості тестового кейсу доступні в тестовому кейсі. Вони не доступні за допомогою інших етапів тестового прикладу або навіть тестового набору за проектом.
Запитання та відповіді на інтерв’ю ado.net для досвідчених
Детальніше про властивості на прикладах
Властивості можуть зберігати кінцеві точки, дані для входу, інформацію про заголовки та домен тощо, хоча ми вже обговорювали питання запису та зчитування даних у / з властивостей, нам ще належить детально обговорити цю тему на прикладі.
Розглянуті вище рівні властивостей використовуються в сценаріях для зчитування даних.
№1. Властивості зчитування:
Ми розглянемо, як ми можемо читати властивості в groovy скрипті. Щоб отримати доступ до властивостей різних рівнів, наступним є синтаксис:
Проект: Синтаксис: $ {# Назва проекту # Значення}
Приклад:
деф пр ojectPro = testRunner.testC до se.testSuite.project.getPropertyValue
(“Project_Level_Property”)
“Project_Level_Property”)
log.info (projectPro)
Тестовий пакет: Синтаксис: $ {# TestSuite # Value}
Приклад:
деф тестP ro = testRunner.testCase.testSuite.getPropertyValue (‘Testsuite_Property’)
log.info (testPro)
Тестовий приклад: Синтаксис: $ {# TestCase # Value}
Приклад:
деф тест casePro = testRunner.testCase.getPropertyValue (‘Testcase_Property’)
log.info (testcasePro)
Дивіться знімок екрана нижче:
№2. Запис у властивості:
Для цього ми маємо скористатися setPropertyValue метод.
Синтаксис: setPropertyValue (“назва властивості”, “значення”)
Якщо ми присвоюємо значення невідомим властивостям, тоді SoapUI створить ці властивості заново. Для існуючих властивостей отримають значення під час призначення.
№3. Видалення властивостей за допомогою сценарію:
Це можна зробити, клацнувши правою кнопкою миші на назві властивості на панелі властивостей. Потім у контекстному меню натисніть опцію Видалити.
Для цього за допомогою скрипта для видалення нестандартних властивостей використовуйте наступні твердження для рівнів проекту, набору тестів або тестових кейсів:
testRunner.testCase.testSuite.project.removeProperty (“Testcase_Property”);
testRunner.testCase.testSuite.removeProperty (“Testcase_Property”);
testRunner.testCase.removeProperty (“Testcase_Property”);
Вищезазначені сценарії не є оптимальними, коли ми маємо кілька властивостей на кожному рівні, оскільки ці дії потрібно повторити кілька разів для кожної властивості. Альтернативою є ітерація властивостей за допомогою сценарію, як показано нижче:
testRunner.testCase.properties.each
{
ключ, значення ->
testRunner.testCase.removeProperty (ключ)
}
Наведений вище сценарій буде повторювати до останньої властивості, доступної в тестовому випадку. “ Ключ 'Позначає назву власності, де як' значення ”Позначає фактичну вартість майна. Ми можемо змінити наведений вище сценарій, щоб видалити груповий список властивостей, наявний на різних рівнях.
No4. Додати властивість:
AddProperty для цього використовується метод, синтаксис якого:
addProperty (назва властивості);
Це можна адаптувати для кожного рівня, як показано нижче:
testRunner.testCase.testSuite.project.addProperty (‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty (‘TestsuiteProperty1’)
testRunner.testCase.addProperty (‘TestcaseProperty1’)
Після виконання вищезазначених сценаріїв натисніть на назву проекту / набору тестів / тестового випадку. Перевірте вкладку спеціальних властивостей на панелі властивостей, і створена властивість з'явиться тут. Див. Нижче для довідки:
Використання властивостей у сервісах
У цьому розділі ми дізнаємося, як ми можемо використовувати властивості в сервісах, і ми будемо використовувати вищезазначені сценарії для додавання, призначення, отримання даних про властивості за допомогою веб-служби конвертера валют.
Інтеграція властивостей у службу:
Почнемо додавати кроки тесту, як показано на скріншоті нижче.
На наведеному вище скріншоті тестовий крок AddProperties_Script містить такий сценарій, який додає дві властивості, такі як Property_FromCurrency і Property_ToCurrency .
// Додати властивості
testRunner.testCase.addProperty (‘Property_FromCurrency’)
testRunner.testCase.addProperty (‘Property_ToCurrency’)
// Призначення значень властивостям
testRunner.testCase.setPropertyValue (‘Property_FromCurrency’, ‘USD’)
testRunner.testCase.setPropertyValue (‘Property_ToCurrency’, ‘INR’)
В ServiceRequest_CurrencyConverter_1 містить запит із вхідними параметрами, як показано нижче:
Призначені значення у властивостях будуть передані цим параметрам під час виконання. Після цього кроку тестування GetResponseData_Script Тестовий крок має сценарій, який отримає значення відповіді та покаже результат у журналі. Ось сценарій.
// Отримати дані відповіді від служби
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ')
def parsedResponse = new XmlSlurper (). parseText (відповідь)
Рядок convertValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (convertValue)
Після того, як всі кроки будуть готові, двічі клацніть на імені тестового набору та запустіть тестовий пакет. Потім двічі клацніть на ServiceRequest_CurrencyConverter_1 і див. розділ відповідей.
Ось що ми знайшли б:
- Відповідь буде отримано
- Відкрийте журнал сценаріїв, щоб побачити отримані дані, які перетворюються на основі вхідних параметрів
Ось як ми можемо передати параметри вхідному запиту і отримати відповідь через скрипт, використовуючи властивості. Подальше ми також можемо передавати значення відповіді іншій службі як вхід.
Передача майна
Крок перевірки властивості передає дані властивості з одного властивості в інше під час виконання. Давайте коротко побачимо, як ми можемо створити крок тестування передачі властивостей і як вартість властивості передається між двома властивостями.
- Клацніть правою кнопкою миші на імені тесту під набором тестів
- Клацніть Додати крок а потім клацніть Властивості з контекстного меню
- Повторіть наведені вище дії, щоб створити другу властивість. Дивіться знімок екрана нижче:
- Тепер ми повинні додати крок тестування передачі властивостей.
- Клацніть правою кнопкою миші на назві тестового випадку та натисніть опцію перенесення властивостей у контекстному меню
- Введіть бажане ім’я передачі майна та натисніть кнопку OK
- Натисніть Додати, тобто знак плюса на панелі інструментів передачі властивостей
- Вкажіть назву переказу, а потім натисніть кнопку OK
- На правій бічній панелі доступні два розділи: Джерело та Ціль.
Виберіть джерело як Властивості і майно як Властивість_поштовий індекс . Зробіть те саме в цільовому розділі. Вибирайте Target_Property зі спадного майна. Коли піктограма запуску, значення властивості буде передано з Властивість_поштовий індекс до Target_Property .
(Клацніть на зображення для збільшення)
Перегляньте передане значення, як показано на знімку екрана нижче.
Примітка: Вихідна властивість повинна містити значення за замовчуванням.
На додаток до цього, на екрані передачі власності є багато варіантів.
- Помилка передачі через помилку
- Передати текстовий вміст
- Передати усім
- Підкреслити передану вартість
- Встановити значення Null для відсутнього джерела
- Ігнорувати порожні / відсутні значення
- Використовуйте XQuery
- Перенести дочірні вузли
Завантажити властивості із зовнішнього джерела:
Щоб завантажити властивості із зовнішнього джерела, виконайте такі дії.
- Додайте крок тесту властивостей під тестом
- Введіть назву кроку властивості та натисніть кнопку OK
- На панелі властивостей під навігаційною панеллю натисніть вкладку Спеціальні властивості
- Клацніть
для завантаження властивостей із зовнішнього файлу властивостей
Примітка: Файл властивостей повинен бути збережений або присутній на вашому комп'ютері. Щоб зберегти властивості, натисніть піктограму.
Потім перейдіть до відповідного диска та виберіть властивість, як показано нижче:
У порядку, ми можемо бачити завантажені властивості та їх значення на вкладці Спеціальні властивості.
Висновок
Ну, це властивості для нас!
Властивості кожного рівня мають свої особливості. Під час вашої практики SoapUI намагайтеся включати властивості, коли це можливо, за допомогою етапу тестового сценарію groovy для додавання, видалення, призначення та отримання даних властивостей. Це не тільки корисно, коли ви практикуєтесь у сервісах, але й критично важливо для реального тестування додатків, оскільки цей метод дуже корисний доводити свої тестові кейси .
Передавати властивості між тестовими кроками простіше, ніж писати повторювані сценарії, щоб створювати нові. SoapUI також надає чудову можливість імпорту та експорту властивостей. Ця функція буде корисна, коли ми використовуємо загальні властивості, такі як дані для входу, деталі сеансу тощо, для декількох проектів. Таким чином, нам не потрібно створювати однакові властивості знову і знову для кількох проектів. Ми можемо просто змінити вартість властивості щодо властивостей на основі проектів.
Наступний підручник No9 : У наступному уроці SoapUI ми дізнаємось Умовні заяви в Groovy, такі як:
- Логічні висловлювання
- Заяви про повторення
- Масиви в Groovy
На цьому все. Продовжуйте читати, і ми побачимо вас у наступному уроці. Будь ласка, поділіться своїми запитаннями, коментарями та досвідом нижче.
Рекомендована література
- Як використовувати властивості в сценарії Groovy SoapUI - Підручник SoapUI №7
- Як виконати тестування на основі даних у SoapUI Pro - Підручник SoapUI No14
- 15+ підручників SoapUI: найкращий інструмент тестування API веб-служб
- Як написати основний скрипт Groovy в SoapUI - Підручник SoapUi No6
- Поглиблені підручники Eclipse для початківців
- 7 найважливіших особливостей SoapUI та SoapUI Pro - Підручник 2
- Розуміння тверджень у SoapUI - Підручник SoapUI No5
- 4 найважливіші особливості SoapUI Pro для професійної аудиторії - Підручник з SoapUI №12