2010-03-19 5 views

ответ

2

описательного программирование написание Qtp scpriting без какого-либо хранилища объектов

8

Создания теста без использования репозитория объектов известно как описательное программирование, так как вы описали объекты как часть сценария.

например.

Browser("title:=Google").Page("title:=Google").Link("text:=Advanced Search").Click 

Обратите внимание на := в именах испытателей объектов, а это не смайлик это означает, что свойство title имеет значение Google (как регулярное выражение).

Вы также можете использовать объект Description через Description.Create.

Вы можете увидеть более подробную информацию here.

+2

Добавим, что описательное программирование полезно, когда вы хотите обратиться к объекту, значения атрибутов которого изменяются и которые не могут быть описаны эффективно с использованием регулярного выражения. И: Поскольку QTP начал поддерживать параметризованные идентификационные свойства (то есть значение атрибута не является литералом, но замещающий параметр заменяется значением параметра во время выполнения) (в 9 или 10?), Вам не нужно зависят от описательного программирования так часто, как раньше, когда эта функция не существовала. – TheBlastOne

+0

@TheBlastOne - Как проверить, существует ли веб-элемент при использовании динамического описательного программирования? В static, его .WebElement (свойства) .Exist (время). – testerjoe2

+0

Почему вы не публикуете это как вопрос? (Я использую .ChildObjects с родительским объектом и проверяю, есть ли в наборе результатов 1 элемент.) – TheBlastOne

-4

Написание программ описательного уровня для QTP

2

Описательная программирования используется, когда вы хотите, чтобы выполнить операцию на объекта, который не присутствует в хранилище объекта.

Установка значения в текстовом поле

Browser(“Browser”).Page(“Page”).WebEdit(“Name:=textbox_name”,”html tag:=INPUT”).set “My New value” 


Read More
Проверьте эту обширную статью о теме
http://www.learnqtp.com/descriptive-programming-simplified/

-3

"Описательная программирование" является неправильным ,

Используется, очень вводит в заблуждение, как синоним «Динамическое распознавание объектов».

+0

Возможно, это комментарий и НЕ ответ. – stuxnetting

0

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

0

Описательное программирование используется, когда мы хотим выполнить операцию над объектом, который не хранится в репозитории объектов. Таким образом, QTP не будет искать свойства объекта в репозитории объектов, но возьмет его из инструкции.

1

Описательное программирование используется во многих сценариях, таких как -> Когда QTP не может идентифицировать объекты из значений свойств, хранящихся в репозитории объектов. -> Когда пользователь не хочет использовать репозиторий объектов или обходит его. -> Когда пользователь хочет написать фрагмент кода, который может работать на нескольких веб-сайтах. Для eg.when мы хотим напечатать название всей ссылки на Google или Yahoo, мы можем использовать тот же кусок кода, используя значения общего имущества

Он используется два способами 1. Статическая Описательная программирования Здесь мы используем свойство и значения непосредственно в тестовом скрипте для доступа к объекту. Например, например. Browser ("micClass: = ....."). Page ("micClass: = ..."). Ссылка ("micClass: = ...")

Note: We can start Descriptive programming at any time, but once started we can not use Object Repository till the line is finished. 
  1. Dynamic Описательный программирование Здесь мы создаем объект описания, а затем работаем над этим. Напр. Set objTest = Description.Create objTest ("micClass"). Value = "Ссылка" objTest ("имя"). Значение = "Нажмите здесь"

С уважением Dheeraj

Mindfire Solutions, Индия

0

Использование описательного программирования мы можем определить объекты в QTP без использования OR (хранилища объектов) Вот хороший учебник, который описывает три способа сделать описательное программирование: http://www.bytetips.com/descriptive-programming-in-qtp/

0

Браузер («title: = Google»). Страница («title: = Google») Ссылка («текст: = Расширенный поиск»). Нажмите не является описательным программированием, это плохая практика. Параметры должны быть отделены от кода, поэтому вы в этом случае можете изменить их в 1 место, в файле репозитория объекта.

Что Описательная программирование - при использовании Описание объекта:

Dim oDesc  'Description Object 
Dim colObject 'Object Collection 

Set oDesc = Description.Create 
oDesc("micclass").value = "Link" 
oDesc("text").value = ".*ma.*" 'Images 
oDesc("text").regularExpression = False 

Set colObject = Browser("Google").Page("Google").ChildObjects(oDesc) 

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

0

Что я могу сказать о дескриптивном программировании. Мы используем Описательное программирование, когда мы не хотим использовать репозиторий объектов. Многие говорили, что они использовали описательное программирование в гибком режиме разработки, в котором они начинают создавать сценарии автоматизации, пока приложение все еще находится в разработке (в гибком режиме).

Мы используем описательное программирование, когда некоторые объекты динамически меняют свойства объекта и с заданным набором утвердительных свойств трудно идентифицировать объект без ущерба для производительности скрипта.

0

Описательное программирование используется для выполнения операций над объектом, который мы не присутствуем в qtp.It использует [Свойство -> значение]. см ссылку ниже: -

Descriptive Programming Simplified

0

Идентификация объектов на странице без Repository объекта с особым свойством Наиболее часто используемое для описательных объектов, когда у вас есть более одного объекта в одной и той же странице же Э.Г. HTML ID, и вам нужно щелкнуть по нему все ... вы можете вернуть все объекты и сделать цикл, чтобы щелкнуть объект, который вы идентифицируете в объектном скрипте, с его собственными свойствами

0

Помимо всего повторения выше, Я бы сказал, что это лучший и самый легкий способ работы с QTP, vbscript - самый простой из языков, и даже учитывая это, вы будете использовать только небольшую часть.

Также re. описательное программирование, существует статическое описательное программирование и динамическое описательное. Static создает переменную для каждого объекта, который вы хотите идентифицировать/взаимодействовать (т. Е. Dim myBUTTON), а затем давая описание этой фактической кнопки переменной.

Это прекрасно и функционально, но, как отметил Артем, динамическая версия (которую он показывает вам в совершенном коде) гораздо более удобна и дружелюбна и лучше выглядит с точки зрения сохранения вашего кода. Вы создаете один объект описания и постоянно переопределяете его для различных потребностей, поэтому (используя соглашение об именах Artems) oDesc может стать кнопкой, которую вы нажимаете, ссылкой, которую вы нажимаете, и вы можете продолжать переопределять ее, когда вы идете вниз кода (путем предоставления тем же свойствам/значениям этого объекта). Это более аккуратно, и у вас нет миллиона имен переменных, летающих повсюду, так что это яснее. Динамическое описательное программирование! Там какие-то мелкие-аспекты к нему и устранению неисправностей в зависимости от того, каких значений вы передаете к объекту, так что не стесняйтесь связаться со мной в любое время, Y.

0

В простых словах мы можем сказать Описывая объект с помощью кодекса, вместо репозитория объектов.

Пример кода

Browser("title:=Google").Page("title:=Google").Link("text:=Advanced Search").Click 

объекта на основе кода

Browser("Google").Page("Google").Link("Advanced Search").Click 

И вы нужны объект для всех

0

думать об этом, как найти место (например, нахождение объекта), объект работы хранилища как приложение карты (например, карта Google), вам просто нужно предоставить записанное место, и оно найдет его для вас.

Описательное программирование - это в основном вы понимаете объект и его элементы. Это означает, что вы знаете, как идти домой или, по крайней мере, иметь карту с собой, чтобы найти место.

Оба имеют за и против. Скажем, если ваш телефон мертв или нет сети, карты Google (репозиторий объектов) больше не будут работать для вас. Вы должны пойти с родным путем.