descriptive programming qtp
У цьому підручнику ви дізнаєтесь що таке описове програмування в QTP , і Підключення до бази даних в QTP тобто як підключитися до зовнішніх джерел даних, таких як бази даних та аркуші MS Excel, використовуючи QTP.
Дескриптивне програмування - це механізм створення тестів, де ви використовуєте «Програмний опис» об’єктів замість їх запису.
=> Клацніть тут для серії навчальних посібників з QTP
Коротка примітка про цю серію статей QTP, перш ніж переходити до деталей цього підручника:
Це останній підручник з нашої онлайн-серії навчальних програм QTP. Сподіваюся, вам всі сподобалися ці підручники і ви почали вчитися на них.
Надішліть нам відгук:
Я шукаю ваших відгуків не лише щодо цієї серії підручників, а й про загальний сайт. Будь ласка натисніть тут, щоб поділитися своїми думками про цей веб-сайт. Навряд чи це займе пару хвилин. Ми цінуємо ваші відгуки та пропозиції. Повідомте нас, що ми можемо зробити, щоб покращити ваш досвід роботи з SoftwareTestingHelp.com
java створює масив об'єктів
Що ви дізнаєтесь:
Описове програмування в QTP
Дескриптивне програмування - це механізм створення тестів, де ви використовуєте «Програмний опис» об’єктів замість їх запису.
За допомогою цієї техніки QTP можна зробити для ідентифікації об’єктів, яких немає у сховищі.
Є 2 варіанти описового програмування:
- Статичне описове програмування
- Динамічне описове програмування
Статичне описове програмування
Статичний метод - це коли ви намагаєтесь отримати доступ до об’єкта, використовуючи набір властивостей і значень безпосередньо в операторі VB.
Синтаксис: TestObject (“Назва властивості1: = значення властивості”, “назва властивості 2: = значення властивості”,… .n)
Ось як ви ним користуєтесь:
запитання та відповіді технічного співробітника довідкової служби pdf
Browser(“creationtime:=0”).Page(“title:=Google”).WebButton(“name:=Google Search”)
Динамічне описове програмування
Це працює, створюючи об’єкт опису. Подивіться на наступний приклад для створення об’єкта webButton.
Set Testdesc=description.create Testdesc(“micClass”).value= “webButton”
- micClass відноситься до наперед визначених класів в QTP. Значення, які ви можете призначити, можуть бути веб-кнопка, веб-список тощо.
- У QTP 10 значення micClass чутливі до регістру, а в QTP 11 - ні. Якщо ви напишете веб-кнопку в QTP 10, вона не вдасться. Вам доведеться написати webButton. Але та сама веб-кнопка пройде в QTP 11.
Ви можете витягти всі об’єкти певного класу на сторінці, використовуючи такий вираз:
Set ObjectList=Browser(“creationtime:=0”).Page(“title:=*”).ChildObjects(Testdesc) Msgbox ObjectList.count
Вищевказаний набір операторів витягне всі кнопки на сторінці та збереже їх у об'єкті ObjectList.
Універсальність використання описового програмування полягає в тому, що ці рядки коду працюватимуть на будь-якій відкритій сторінці. Ви можете відкрити google.com у своєму браузері, і він підрахує, скільки кнопок знаходиться на цій сторінці. Це буде працювати точно так само, якщо у вас був відкритий amazon.com або будь-який інший сайт.
Це тому, що у нас назва заголовка сторінки встановлена на *, що є регулярним виразом.
Отже, ви можете бачити, як ми можемо писати код, який може використовуватися більше ніж один раз, не жорстко кодуючи значення властивостей і створення об'єктів під час виконання .
Візьмемо наш приклад трохи далі. Скажімо, я намагаюся надрукувати імена всіх веб-кнопок на сторінці одна за одною.
Якщо на сторінці є 4 кнопки, ви можете отримати доступ до кожної з них таким чином:
Msgbox ObjectList (0) .GetRoProperty (“name”) –Це надрукує ім’я першої кнопки.
Msgbox ObjectList (1) .GetRoProperty (“ім’я”)
Msgbox ObjectList (2) .GetRoProperty (“ім’я”)
Msgbox ObjectList (3) .GetRoProperty (“ім’я”)
Зверніть увагу, що:
- Індекс дочірніх об'єктів починається з 0
- Оскільки об'єкт досягає своїх властивостей під час виконання, ми використовуємо метод GetRoProperty для отримання того самого.
Ми можемо змінити наведений вище код так, щоб він працював для будь-якої кількості кнопок на сторінці, використовуючи цикл «For» і повторюючи оператори в блоці «For», доки він не досягне кінця підрахунку об’єктів.
For i=0 to ObjectList.count -1 to Step 1 Msgbox ObjectList (i).GetRoProperty(“name”) Next
Використовувати цикл «For» краще, оскільки в цьому випадку вам не потрібно знати, скільки об’єктів знаходиться у вашому об’єкті опису.
Зазначимо пару моментів:
- Вам знадобиться практика для оволодіння описовим програмуванням. Скільки б прикладів ви не розглядали і не розуміли, вам знадобиться практичний досвід, щоб по-справжньому працювати з ним.
- Як тестувальник, ви не повинні знати, як об’єкти кодуються у ваш AUT і які значення для них встановлені. Тому використовуйте ObjectSpy час від часу, щоб вибрати правильні властивості для перегляду властивостей.
- Результати тесту вказуватимуть на те, що тестовий об'єкт створювався динамічно під час сеансу запуску з використанням опису програмування або методів ChildObject.
Підключення до загальновживаних зовнішніх джерел даних з QTP
Під час підготовки тестів буде багато випадків, які вам доведеться підключити до зовнішньої БД або деяких інших джерел даних. Після підключення вам також доведеться переміщувати дані до цих програм і з них на QTP і навпаки.
Хоча виходити за межі цих статей, щоб надати повний посібник для роботи із зовнішніми інтерфейсами, ми розглянемо декілька найбільш часто використовуваних.
Підключення до бази даних в QTP
Для підключення до бази даних ми зазвичай використовуємо об'єкт підключення ADO. ADO - це об’єкти даних ActiveX від Microsoft.
Нижче наведено кроки, яких слід виконати:
# 1) Створіть DSN. Будь ласка, зверніться до підручника з контрольної точки бази даних, щоб побачити, як це робиться, або створіть його на панелі управління.
# два) Створіть об’єкт підключення:
Встановити conn = CreateObject (“ADODB.connection”)
# 3) Створіть об'єкт набору записів. Об’єкт набору записів містить результати запиту, який ми збираємось виконати.
Встановіть rs = CreateObject (“ADODB.RecordSet”)
# 4) Відкрийте об'єкт підключення та запустіть запит:
conn.Open “DSN = testDB2; UID = swatiseela; pwd = testing @ 123”
rs.Відкрийте “Вибрати * з abc”, зв’язок
# 5) Усі результати запиту тепер можна отримати за допомогою об’єкта “rs”.
# 6) Наприклад, якщо ви хочете отримати кількість повернутих рядків, ви можете використовувати
rs.getrows
# 7) Наприклад, таблиця має 2 рядки та 3 стовпці (a, b, c). Ви можете отримати доступ до значень наступним чином:
Msgbox rs.fields (0) .a
Msgbox rs.fiels (0) .b
Msgbox rs.fields (0) .c
# 8) Ви можете використовувати оператор циклу, якщо є занадто багато значень для доступу.
# 9) Деякі функції, які може використовувати об'єкт набору записів: rs.move, rs.movenext, rs.getrows, rs.close, rs.open тощо.
Давайте розглянемо весь код одночасно:
Set conn=CreateObject(“ADODB.connection”) Set rs=CreateObject(“ADODB.RecordSet”) conn.Open “DSN=testDB2;UID=swatiseela;pwd=testing@123” rs.Open “Select * from abc”,conn msgbox rs.getrows Msgbox rs.fields(0).a Msgbox rs.fiels(0).b Msgbox rs.fields(0).c Msgbox rs.fields(1).a Msgbox rs.fiels(1).b Msgbox rs.fields(1).c rs.close conn.close
Підключення до аркушів MS Excel
Ми всі знаємо, що коли ми відкриваємо програму Excel, весь файл - це робоча книга, яка містить аркуші зі стовпцями та рядками, куди ми поміщаємо дані.
Далі наведено код та коментарі, які допоможуть зрозуміти, як це робиться.
‘Create an excel application object Set excelobj = CreateObject(“Excel.Application”) ‘Set it to visible, otherwise it will be visible in the task manager but you will not be able to view it but it continues to work in the background excelobj.visible = true ‘Opens a workbook at the path speficified. If you need to open a new workbook, use excelobj.workbooks.Add excelobj.workbooks.Open(“C:UsersSwatiDesktopQTP est.xls”) ‘Sets the current sheet as i. the sheet number starts from 1 i=1 Set sheet1 = excelobj.activeworkbook.sheets(i) ‘write to a cell in sheet 1. The cell is row 8 column 4, D8. excelobj.activeworkbook.sheets(1).cells(8,4) = “Test QTP Write to cell” ‘To get the data from sheet2 cell ID C6 testretrurnval = excelobj.activeworkbook.sheets(3).cells(6,3) ‘save changes excelobj.activeworkbook.save ‘close the workbook excelobj.activeworkbook.close ‘Close Excel application excelobj.quit ‘Clear memory Set excelobj = nothing
Окрім вищезазначених функцій, ми маємо такі функції, якими ми можемо користуватися залежно від ваших потреб.
- excelobj.activeworkbook.sheets.add - Щоб додати новий аркуш
- excelobj.activeworkbook.sheets (i) .delete - Видалення аркуша з індексом i
- excelobj.activeworkbook.sheeets (i) .name = “Ім'я на ваш вибір” - Змінити назву аркуша за допомогою індексу i.
- x = excelobj.activeworkbook.sheets.count - щоб отримати підрахунок, скільки аркушів у трудовій книжці
- excelobj. activeworkbook.saves “CompletePathWithNewName.xls” - щоб зберегти книгу під новою назвою
На цьому закінчується не лише ця стаття, а й наша навчальна серія QTP. У наступній статті ми розглянемо деякі важливіші Запитання для інтерв’ю QTP з відповідями . Будь ласка, повідомте нам свої коментарі та запитання.
=> Завітайте сюди, щоб дізнатись про серію навчальних посібників з QTP
у чому різниця між забезпеченням якості та контролем якості?
Будьте в курсі інших корисних статей та підручників з тестування програмного забезпечення! Якщо ви не підписані на нашу безкоштовну розсилку електронною поштою, будь ласка, зробіть це зараз до натисніть тут .
Рекомендована література
- Підручники з QTP - 25+ навчальних посібників із швидкого тестування з мікрофокусом (QTP)
- Параметризація в QTP (Частина 2) - Підручник з QTP No20
- Підручник з QTP # 18 - Управління даними та гібридні фреймворки, пояснені на прикладах QTP
- Параметризація в QTP Пояснення на прикладах (Частина 1) - Підручник з QTP # 19
- Підручник QTP №6 - Розуміння параметрів запису та запуску QTP для нашого першого тесту
- Підручник QTP №24 - Використання віртуальних об’єктів та сценаріїв відновлення в тестах QTP
- MongoDB Створення підручника з бази даних
- Тестування баз даних за допомогою JMeter