你是如何编写QTP考试的?

Jos*_*ris 6 testing automation automated-tests qtp

我正在尝试使用QTP进行一些webapp ui自动化测试,我想知道人们通常如何编写他们的QTP测试.您是否一起使用对象图,描述性编程,组合或其他方式?任何小代码示例都将不胜感激,谢谢

Alb*_*eev 8

这是我的建议.

1)构建测试自动化需求矩阵.您可以使用我博客中的示例

http://automation-beyond.com/2009/06/06/qa-test-automation-requirements-usability/

http://automation-beyond.com/2009/06/07/qa-test-automation-requirements-usability-2/

http://automation-beyond.com/2009/06/10/qa-test-automation-requirements-5-maintainability/

http://automation-beyond.com/2009/06/08/qa-test-automation-requirements-robustness/

http://automation-beyond.com/2009/06/09/qa-test-automation-requirements-scalability/

2)选择自动化方法

3)根据您选择的方法编写测试脚本

注意.QTP Repository方式或Descriptive Programming属于前端功能测试自动化的GUI识别部分.它们在稳健性和维护方面很重要.从技术上讲,它几乎是一样的.在这两种情况下,您都应该很好地理解GUI识别概念,否则无论采用何种方法,您都会遇到问题.

  • 您可以将GUI对象识别属性存储在类似XML的数据结构中,并将记录映射到类似英语的名称.每当原始对象的属性发生更改时,您都会更新存储库中的记录,而代码仍然引用映射的名称.
  • 或者,您可以通过直接将相同的识别属性放入函数调用来解决GUI对象.每当原始对象的属性发生变化时,您都必须进行代码更改.但是您不必与脚本一起维护额外的文件.

一个好的框架应该通过在对象参考级别操作来支持GUI映射和描述性编程符号.即你应该将对象识别和对象交互任务分开.

请注意,根据上下文,描述性编程符号可能会降低脚本的性能,并且总是需要额外的维护工作,而在其他情况下,使用对象存储库只会导致不必要的对象描述重复,或者可能会限制对动态更改的GUI的识别.
我在下面的文章中说明了上面提到的一些观点: 一点QTP性能测试:对象存储库与描述性编程

直接代码示例(对于实际的自动化,我建议使用GUI功能包装).

描述性编程 - 通过物理描述属性寻址对象.

Dim sProfile
sProfile = "Guest"

Set objWebParent = Browser("title:=Select Profile").Page("title:=Select Profile")
Set objWebObject = objWebParent.Link("text:="&sProfile) 
boolRC = objWebObject.Exist(0) 
If Not boolRC Then
'error-handling
End If
objWebObject.Click
Run Code Online (Sandbox Code Playgroud)

通过映射的GUI名称寻址对象

Browser("Select Profile").Page("Select Profile").Link("Guest").Click
Run Code Online (Sandbox Code Playgroud)

谢谢你,
Albert Gareev
http://automation-beyond.com/