什么是QTP中的描述性编程(程序描述)

时间:2010-03-19 13:13:53

标签: qtp hp-uft

QTP中的描述性编程是什么?

16 个答案:

答案 0 :(得分:8)

在不使用对象存储库的情况下创建测试称为描述性编程,因为您将对象描述为脚本的一部分。

e.g。

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

注意测试对象名称中的:=,这不是笑脸,这意味着属性title具有值Google(作为正则表达式)。

您还可以通过Description使用Description.Create对象。

您可以查看更多详情here

答案 1 :(得分:2)

描述性编程是在没有任何对象存储库的情况下编写qtp scpriting

答案 2 :(得分:2)

当使用描述性编程时 你想对一个人进行操作 不存在的对象 对象存储库。

设置文本框的值

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


阅读更多
查看有关主题的这篇文章 http://www.learnqtp.com/descriptive-programming-simplified/

答案 3 :(得分:1)

描述性编程用于许多场景,例如 - >当QTP无法从Object Repository中存储的属性值中识别对象时。 - >当用户不想使用对象存储库或绕过它时。 - >当用户想要编写一段可以在多个网站上运行的代码时。例如,当我们想在Google或yahoo上打印所有链接的名称时,我们可以使用相同的代码使用公共属性值

它有两种使用方式  1.静态描述性编程     这里我们直接在测试脚本中使用属性和值来访问对象。例如。     浏览器( “micClass:= .....”)页( “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. 动态描述性编程 在这里,我们创建一个描述对象,然后对其进行操作。例如。 设置objTest = Description.Create objTest(“micClass”)。Value =“Link” objTest(“name”)。value =“Click Here”
  2. 此致 Dheeraj

    Mindfire Solutions,印度

答案 4 :(得分:0)

我们在测试脚本中直接指定的属性和值等对象的描述称为描述性程序 主要是我们可以在不使用对象存储库的情况下使用描述性程序。

答案 5 :(得分:0)

当我们想要对未存储在对象存储库中的对象执行操作时,使用描述性编程。这样,QTP不会在Object Repository中搜索对象属性,而是从语句中获取它。

答案 6 :(得分:0)

使用描述性编程,我们可以在不使用OR(对象存储库)的情况下在QTP中定义对象。这是一个很好的教程,描述了三种进行描述性编程的方法:http://www.bytetips.com/descriptive-programming-in-qtp/

答案 7 :(得分:0)

浏览器(“title:= Google”)。页面(“title:= Google”)。链接(“text:=高级搜索”)。点击 不是描述性编程,这是不好的做法。 参数应该与代码分开,因此您可以在一个位置更改它们,在这种情况下是对象存储库文件。

什么是描述性编程 - 当您使用Description对象时:

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 )

所以想法是使用description来获取集合并在该集合中搜索你的元素。

答案 8 :(得分:0)

关于描述性编程,我可以说的是当我们不想使用Object Repository时,我们使用描述性编程。许多人说他们在敏捷开发模式下使用描述性编程,他们在应用程序仍处于开发阶段时开始创建自动化脚本(在敏捷模式下)。

我们使用描述性编程,当某些对象动态更改对象属性并且使用给定的断言属性集时,很难识别对象,而不会影响脚本性能。

答案 9 :(得分:0)

描述性编程用于对qtp中不存在的对象执行操作。它使用[Property - > value]。 请参考以下链接: -

Descriptive Programming Simplified

答案 10 :(得分:0)

使用特殊属性识别页面中没有Object Repository的对象 当同一页面中有多个具有相同E.g的对象时,最常用于Descriptive对象。 HTML ID,你需要点击所有它...你可以返回所有对象并循环点击你在对象脚本中识别的对象及其属性

答案 11 :(得分:0)

除了上面的所有重复之外,我会说它是使用QTP的最佳和最轻量级的方式,vbscript是最简单的语言,甚至考虑到,你只会使用一个小的它的一部分。

还有。描述性编程,有静态描述性编程和动态描述。 Static正在为您要识别/交互的每个对象创建一个变量(即dim myBUTTON),然后将该实际按钮的描述添加到变量中。

它很好而且功能齐全,但正如Artem上面所指出的那样,动态版本(他用完美的代码向您展示)更易于重复使用和友好,并且在保持代码整洁方面更好看。你制作一个描述对象,并​​不断重新定义它以满足你的各种需求,因此(使用Artems命名约定)oDesc可以成为你点击的按钮,你点击的链接,你可以在你下去时继续重新定义它代码(通过为该对象提供相同的属性/值)。它更整洁,而且你没有一百万个变量名称飞到各处,所以它更清晰。动态描述性编程!根据您传递给对象的值,有一些很好的方面和麻烦拍摄,所以请随时与我联系, 是的。

答案 12 :(得分:0)

将其视为找到位置(如找到对象),对象存储库作为地图应用程序(例如Google地图),您只需要提供记录的位置,它就会找到它。

描述性编程基本上是你理解对象及其元素。这意味着你知道如何回家或者至少有一张地图与你一起找到位置。

两者都有利弊。假设您的手机已经死亡,或者没有网络,Google地图(对象存储库)将不再适合您。你必须采用本土方式。

答案 13 :(得分:0)

描述性编程用于完全避免使用对象存储库或避免在对象存储库中添加类似类型的对象。要通过示例了解描述性编程的所有可能用途,请参阅 https://myskillpoint.com/descriptive-programming-in-uft-with-examples/

答案 14 :(得分:-3)

“描述性编程”是用词不当。

它被用作非常误导性的“动态物体识别”的同义词。

答案 15 :(得分:-4)

为qtp编写描述性级别编程