我正在尝试使用QTP进行一些webapp ui自动化测试,我想知道人们通常如何编写他们的QTP测试。你是否一起使用对象图,描述性编程,组合或其他方式?任何小代码示例将不胜感激,谢谢你如何编写你的QTP测试?
回答
这是我的建议。
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)选择您automation approach
3)根据您选择
注意的方法写你的测试脚本。 QTP版本库方式或描述性编程属于前端功能测试自动化的GUI识别部分。它们在稳健性和维护方面很重要。技术上,它几乎是一样的。在这两种情况下,您都应该很好地理解GUI识别概念,否则无论采用何种方法都会遇到问题。
- 您可以将GUI对象识别属性存储为类似XML的数据结构,并将该记录映射为类似英语的名称。无论何时原始对象的属性发生更改,都会更新存储库中的记录,而代码仍然引用映射的名称。
- 或者您可以通过直接将相同的识别属性放入函数调用来解决GUI对象。每当原始对象的属性发生变化时,您都必须更改代码。但是,您不必随脚本一起维护额外的文件。
一个好的框架应该由在对象参考水平下操作同时支持GUI映射和描述编程符号。即你应该保持对象识别和对象交互任务分开。
注意,根据上下文描述编程符号可能脚本的放缓性能和它总是要求额外的维护工作,而在其他情况下,使用对象存储库只可能导致对象的描述的不必要的重复或者可能会限制动态更改GUI的识别。
我示出了下面的文章中提出以上几点: A little QTP performance test: Object Repository vs. Descriptive Programming
直代码示例(对于实际自动化我推荐GUI Function Wrapping)。
描述性编程 - 按物理描述属性寻址对象。通过映射GUI名称
Browser("Select Profile").Page("Select Profile").Link("Guest").Click
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
寻址对象谢谢你,
阿尔伯特Gareev
http://automation-beyond.com/
我知道我迟到了,您必须已经有你在找什么因为,但我想提供我的投入,以及访问此主题的任何人。
我一般不会使用OR,除非我遇到一个描述性编程是不行的环境。就在最近,我使用了一个大型机前端GUI应用程序,它绝对没有对象的命名约定。如果您选择对这样的应用程序使用描述性编程,则使用其对象的唯一方法是通过索引或位置序号标识符,这不是考虑每个窗格中100个对象的最佳操作过程。
所以,你的问题的答案真的取决于环境和你的OR和DP的经验。在我的工作中,大多数与我合作过的人以及在线社区都倾向于在可行的情况下使用描述性编程。但是,我也看到人们用OR来创造奇迹。
我有几个代码示例,但不幸的是,它们处理描述性编程。例如,有关创建模块化的VBScript类来划分应用程序的功能集成到小型管理的组件下面的文章会谈:
http://relevantcodes.com/qtp-using-classes-as-test-modules-i/
同样,本文介绍了规划如何描述可以用来验证目标的多重性,通过一个对象码单块:
http://relevantcodes.com/qtp-verify-multiple-object-properties-an-elegant-approach/
此外,演示框架也可供您参考这里:
http://relevantcodes.com/relevantcodes1one-qtp-automation-framework/
该框架完全基于描述性编程原则构建,但在下一版本中,将添加一些功能以使用户也可以使用OR。
谢谢
Anshoo阿罗拉
(感谢链接到原创文章,Motti)
我认为在可能的情况下,DP将是选择的方法。我只是不太确定QTPs系统是否真的很好。目前我使用TestPartner并完全避免其OR系统。谢谢你的信息Anshoo。 – 2010-01-20 20:29:57
嗨阿罗拉,您的网站不开放 – 2017-07-20 07:08:34
- 1. 你如何测试你的emberjs路线?
- 2. 你如何测试你的Request.QueryString []变量?
- 3. 你如何测试你的Cocoa GUI?
- 4. 你如何编写涉及数据库的单元测试?
- 5. 你会如何为这样的班级编写测试?
- 6. 你如何测试用GLSL编写的OpenGL着色器?
- 7. javascript单元测试:你如何跟踪你写的所有测试和你有什么代码覆盖?
- 8. 你如何在Java中编写测试程序?
- 9. 你如何编写Winff?
- 10. 你如何测试DAL?
- 11. ASP.NET - 你如何测试WebControls?
- 12. 你如何测试权限?
- 13. 你会如何测试ExpressionVisitor?
- 14. 有了Spring 3.1,你如何测试你的控制器的URL?
- 15. 你如何运行你的单元测试?编译器标志?静态库?
- 16. Rails重写迷你测试模板
- 17. 你如何以编程方式检测你的iPad的一代?
- 18. 你如何找到你的GitLab主机名(测试你的SSH密钥)?
- 19. 你如何压力测试你自己的软件?
- 20. 你如何组织你的发布测试?
- 21. 你如何测试你的ASP.Net MVC JsonResult操作?
- 22. 你如何组织你的MVC控制器测试?
- 23. UnitTest你如何组织你的测试文件?
- 24. 你如何组织你的测试项目
- 25. 你如何在TDD中组织你的单元测试?
- 26. 有迷你测试
- 27. 你如何测试k-means的实现?
- 28. 玩:你如何写一个文件上传模型的测试?
- 29. 你会如何写的`Iconv.new( “UTF8 //忽略”,...)`成语测试?
- 30. 你如何用Xcode编写单元测试(在我的案例中是Swift)?
感谢您为您的文章伟业。从我收集到的信息来看,如果必要的话,将提出一种混合的对象映射方法和描述性编程方法?顺便说一下,不错的网站,我不得不说鲁棒性是UI自动化中最烦人的部分。 – 2009-12-17 18:06:07
嗨乔希。是的,我强烈建议使用接收对象引用的库函数作为参数。当从外部调用时,你将有一个自由定义对象和描述的对象。是的,让你的脚本变得非常有挑战性,但它应该是框架的一部分,而不是测试逻辑。 – 2009-12-21 21:09:15
阿尔伯特博文中的“自动化方法”链接是我见过的关于这个主题的最好的总结之一。好东西。 – TheBlastOne 2010-06-18 08:01:39