Як використовувати транзакції в QTP/UFT
⚡ Розумний підсумок
Операції в UFT Один показник тривалості виконання вибраної частини тесту, шляхом обгортанняping ті кроки між початковим і кінцевим операторами, які повідомляють про тривалість у результатах виконання.

In UFT Один/QTPВи можете виміряти, скільки часу потрібно для виконання розділу вашого тесту, визначивши Транзакції. Ви визначаєте транзакції всередині вашого тесту, додаючи відповідні розділи тесту до операторів початку та завершення транзакцій.
Транзакції можна вставляти будь-де в скрипт, і немає обмежень щодо кількості транзакцій, які можна додати до тесту.
⚠️ Назва продукту: інструмент постачається як HP QuickTest Professional (QTP), стала HP, а потім Micro Focus Unified Functional Testing, і сьогодні продається компанією OpenText, на чиїх поточних сторінках довідки це називається OpenText Функціональне тестування. Транзакції працюють однаково в кожному з цих релізів.
Як вставити транзакції QTP?
Ви також можете вставити транзакцію в транзакцію
Наступне відео розповідає про кроки, щоб вставити транзакцію UFT Один.
Натисніть тут якщо відео недоступне
Наприклад, ви можете зазначити час, витрачений на замовити рейс.
- In QTP, виберіть відповідний штат, у якому ви хочете розпочати транзакцію.
- Виберіть «Вставити початок транзакції». Запустити діалогове вікно транзакції Box Відкриється
- Дайте трансакції відповідну назву, скажіть «Час бронювання»
- У тест додається заява про початок транзакції
- Виберіть стан, у якому ви хочете завершити транзакцію
- Натисніть «Вставити» > «Завершити транзакцію».
- Діалогове вікно завершення транзакції Box Відкривається зі списком усіх доступних транзакцій
- Натисніть OK. Додається звіт про завершення операції
- Давайте проведемо тест
- У результатах оператор завершення транзакції вказує час, витрачений на вставлення замовлення
Примітка: ті самі діалогові вікна доступні з Перегляд ключових слів, і Крок Generator вставляє ідентичні оператори, не відкриваючи меню «Вставка».
Виписки про транзакції в редакторі
У діалогових вікнах вище написано два vbscript рядки в тест. Тайping Виконання кроків самостійно в редакторі відбувається швидше, коли шаблон знайомий, і це єдиний варіант, коли кроки генеруються кодом.
Services.StartTransaction "Booking Time" ' the steps that book the flight go here Services.EndTransaction "Booking Time"
Обидва методи належать до об'єкта Services. Оператор start приймає один аргумент, оператор end — необов'язковий другий.
| Заява | Аргументи | Що вона робить |
|---|---|---|
| Services.StartTransaction | ІМ'Я | Починає вимірювання часу в цій точці пробігу |
| Services.EndTransaction | Ім'я, [Статус] | Зупиняє вимірювання та записує результат |
Необов'язковий статус визначає, як оцінюватиметься транзакція. Його пропуск рівноцінний тому, що її схвалити. Авто.
- Авто — проходить, якщо між двома операторами не сталася помилка. Це значення за замовчуванням.
- Проходити — завжди завершується статусом «Пройдено».
- Невдача — завжди завершується статусом «Не вдалося».
Services.StartTransaction "Booking Time" Wait 1 Services.EndTransaction "Booking Time", Pass
Результати читання транзакцій
Після завершення тесту крок «Завершення транзакції» в результатах виконання містить чотири значення, які пояснюють вимірювання.
| Поле результатів | Сенс |
|---|---|
| Назва транзакції | Ім'я, вказане в початковому операторі |
| Кінцевий статус | Пройдено чи не пройдено, визначається аргументом статусу або автоматичним налаштуванням |
| Загальна тривалість | Час, що минув між початковим та кінцевим операторами |
| Втрачений час | Час у межах тривалості, що UFT Один сам додав |
Втрачений час має значення, оскільки інструмент запускає фонові процеси, поки транзакція відкрита.tracВізьміть це за загальну тривалість, щоб оцінити, скільки знадобилося б для самої програми, і це число варто порівнювати між збірками.
Тривалість роботи одного користувача є функціональним орієнтиром, а не показником навантаження. Паралелізм вимірюється тестування працездатності інструмент, і транзакція, яка є нормальною для одного користувача, все одно може провалитися під час роботи з сотнею.
Вкладені та розподілені транзакції
У списку вихідних кроків зазначається, що транзакція може знаходитися всередині іншої, саме так ізолюється повільний підкрок без втрати часу всього потоку. Зовнішня транзакція продовжує виконуватися, поки внутрішня відкривається та закривається.
Два правила забезпечують безпеку гніздування.
- Кожному імені потрібна відповідна пара, а початковий оператор має стояти перед його кінцевим оператором.
- Одночасно може бути відкрита лише одна транзакція з певним ім'ям. Відкриття другої транзакції з тим самим ім'ям завершує першу зі статусом «Не вдалося».
Розподілена транзакція йде далі та охоплює два тести: Services.StartDistributedTransaction відкриває його в першому тесті та Services.EndDistributedTransaction закриває його в другій, що відповідає унікальному ідентифікатору, а не імені. Він існує для Business Process Monitor та LoadRunner сценарії, які зчитують лише дані, записані всередині транзакції, та ігнорують усе, що знаходиться поза нею.
Коли крок усередині транзакції може законно завершитися невдачею, поєднайте транзакцію з сценарій відновлення таким чином, виконання досягає кінцевого оператора замість зупинкиping на півдорозі.
