Тестування термінальних додатків за допомогою Rational Functional Tester. Частина 4, Різне, Програмування, статті

Читати частина 3


Вивчаємо скрипт


Опис скрипта


Ми створили автоматизований тест. Фактично, ми створили автоматизований тест, який можна виконувати знову і знову для всіх наступних збірок програми. Чим більше ми будемо використовувати цей скрипт, тим більше виправдаються витрачені на нього ресурси. Насправді тест складається з трьох компонентів – самого скрипта, карти об’єкта і пулу даних. У цьому розділі ми більш детально розглянемо кожен з цих компонентів.


Скрипт


Скрипт – це код, який відображається в центральній панелі вікна IBM Rational Functional Tester .



     


Якщо ви вже знайомі зі скриптами Functional Tester для Web-, Java-або. NET-додатків, цей код здасться вам знайомим. Даний конкретний скрипт записаний на мові Java. (Не забудьте, що точно так же можна використовувати середу Microsoft Visual Studio. NET і записувати скрипти на Visual Basic. NET.) Це означає, що якщо ви трохи знаєте програмування, то можете робити зі скриптом Functional Tester то ж, що і з будь Java-програмою. В код можна вбудувати артефакти, створені вашими розробниками, наприклад, алгоритми та класи, які можуть бути корисними для тестування. Це також означає і те, що скриптові мови, які вивчають ваші тестувальники, є стандартизованими, а не належать конкретній компанії. Тестувальники, які хочуть навчитися читати код, можуть використовувати безліч книг і навчальних дистанційних курсів.


Навіть не навчаючись на курсах Java, ви зможете легко прочитати скрипт і зрозуміти, що відбувається в процесі його виконання. Давайте детально розглянемо декілька виразів. Наступне вираз інструктує Functional Tester про те, що потрібно виконати клацання лівою кнопкою миші в текстовому полі у вікні емулятора:






hostText().click(atPoint(41,11));

Наступне вираз передає терміналу натискання клавіш cicsa, А потім клавіші Enter:






tFrame().inputKeys(“cicsa{ENTER}”);

Наступне вираз виконує перевірку властивості точки верифікації для поля повідомлення про стан у вікні real-time quote:






Field_22_2_standardVP().performTest();

Оскільки при роботі з терміналом велика частина взаємодій здійснюється через клавіатуру, то в порівнянні з додатками Web або Java у нас менше можливостей визначити, в якій точці скрипта ми знаходимося в даний момент. Зверніть увагу, що додаються коментарі допомагають вказати, в якій точці скрипта ви знаходитесь в даний момент:






// Company Selection Screen
tFrame(ANY,LOADED).inputKeys(“1{ENTER}”);

Можна порекомендувати часту вставку коментарів у ході запису тесту.


 

Карта об’єкта


Отже, якщо скрипт наказує IBM Rational Functional Tester виконати тест по відношенню до певного полю у вікні, як Functional Tester зможе зрозуміти, яке поле необхідно перевірити? Кожен об’єкт, з яким ми стикаємося при записи, фіксується в карті тестових об’єктів Об’єкти, з якими ви взаємодіяли, можна побачити в поданні Script Explorer, розташованому праворуч від подання скрипта.



  • Виберіть зі списку пулу даних в поточному проекті Private Test Datapool. Приватний тестовий пул даних бачимо тільки для даного скрипта. В реальному середовищі ви, швидше за все, захочете створити загальний тестовий пул даних, який буде видимим з будь-якої кількості тестових скриптів. Це дозволить ефективно використовувати набори даних в декількох тестах і декількома тестувальниками. Натисніть кнопку OK.
  • Скрипти для терміналів часто містять велику кількість літеральних текстових рядків, а ці дані не завжди можуть бути представлені в потрібному форматі. Наприклад, знайдіть в нашому скрипті наступні рядки:



    tFrame().inputKeys(“jan{TAB}”);
    tFrame().inputKeys(“janpwd{ENTER}”);

    Перший рядок вводить ім’я користувача jan і натискання клавіші Tab для переходу в поле password. Другий рядок вводить janpwd в поле password і натискання клавіші Enter. Нам потрібно витягти текст імені користувача і пароля в пул даних, але зберегти в скрипті команди Tab і Enter. Замініть ці дві команди наступними чотирма рядками:





    tFrame().inputKeys(“jan”);
    tFrame().inputKeys(“{TAB}”);
    tFrame().inputKeys(“janpwd”);
    tFrame().inputKeys(“{ENTER}”);

  • Перегляньте скрипт і знайдіть літеральние значення, які можна замінити посиланнями на пул даних. Щоб допомогти вам в цьому, в Functional Tester є спеціальний майстер. Щоб вказати майстру рядки, які ми розглядали вище, встановіть покажчик миші в початок першої з чотирьох щойно введених нами рядків, а потім натисніть і відпустіть ліву кнопку миші.
  • За допомогою команд меню Script > Find Literals and Replace with Datapool References викличте майстер. Якщо ви все зробили правильно, то майстер відразу ж знайде літеральние рядок jan. Тепер ми можемо вказати ім’я для змінної пулу даних або стовпець, Який потрібно асоціювати з цими даними. Введіть username в поле Datapool Variable. Встановіть прапорець Add Literal to Datapool. Натисніть кнопку Replace для виконання підстановки.
  • Як тільки ви натиснете кнопку на попередньому кроці, майстер знайде наступну літеральние рядок в скрипті, а саме {TAB}. Ми не хочемо робити підстановку для цього значення, тому просто натисніть кнопку Find, Щоб перейти до наступного літеральной рядку.
  • На цей раз майстер виявив значення janpwd. Ми хочемо виконати підстановку для цього значення, але за допомогою нової змінної пулу даних. Введіть в поле Datapool Variable значення password, Щоб замінити значення за умовчанням, username. Натисніть кнопку Replace, щоб виконати підстановку.
  • Це останнє значення, необхідне для підключення до пулу даних, тому натисніть кнопку Close.

  • Зверніть увагу на подання Test Datapool в нижній частині вікна – це таблиця, яка містить дані, які можна використовувати в скрипті. У цю таблицю вже внесені дані, витягнуті з скрипта майстром. Ви можете записати в цю таблицю додаткові рядки даних за допомогою контекстного меню або імпорту даних з CSV-файлу. На жаль, емулювати серверний додаток складається з простих, статичних вікон і не дасть відгуку на змінені дані, тому при відтворенні даного скрипта ми не зможемо продемонструвати ефективне зміна імен користувачів і паролів. Якщо вам цікаво вивчити більш детальний приклад використання пулу даних, перегляньте згадуване раніше навчальний посібник “Automate regression tests: IBM Rational Functional Tester makes regression testing a snap “. У цьому навчальному посібнику розглядається процес створення і настройки керованого даними тесту для Java-додатки.


    Аналіз зробленого

    У цьому розділі ми вивчили досить багато матеріалу, тому варто витратити кілька хвилин на аналіз зробленого.



    Ймовірно, вас цікавить, як буде відтворюватися скрипт в IBM Rational Functional Tester . Зрештою, заради цього ми й виконали всю роботу, правда? У наступному розділі ми докладно розглянемо процес відтворення тесту та аналізу результатів.

    Читати частина 5

    Схожі статті:


    Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

    Коментарів поки що немає.

    Ваш отзыв

    Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    *

    *