QTP的那些事--终极项目脚本设计思路及其测试查询功能的一些实际项目体会

简介:

1,采用importdatable将外部的excel数据加载到对应的datatable中;

2,实际项目中可能不会让我们去设置数据库的检查点来校验数据,而且校验的数据比较复杂,就拿我们基本的手工测试来说。我们在测试查询条件的时候也是不去考虑数据库底层的查询结果的,我们关注的仅是查询的结果中有没有查询到结果,查询的结果中有没有我们的查询条件中的值;

3,针对以上情况,涉及思路如下:

3.1 所有的查询条件设计成相当于MVC模式 中的VO层,也就是我们的输入层数据,然后将对应的录制的查询脚本都参数化为我们datatable中对应的字段;

3.2 判断检查查询的实际结果,实际结果我这里就没有坐那边复杂的处理,就简单的是做了一个判断,如下:

思路其实很简单,就是得到对应的webtable中的innnertext属性中所有的文本查询结果,然后再获取datatable中所有的查询条件,将所有的查询条件与innertext中内容比较一下,查看是否有对应的数据,如果有的话,那么就写上我们的实际的测试结果(查询到数据),如果没有查询到数据就写上(没有结果)。

  这里的判断结果只存在两种情况,其他的复杂的情况没有考虑。

            Browser(“browser").Page(“page").Sync
            '得到实际的测试执行结果
            set listtab=Browser(“browser").Page(“page").Frame("frmae").WebTable("合计")
            writerow=datatable.LocalSheet.GetCurrentRow+1
            If listtab.Exist(1) Then
                listresult=listtab.GetROProperty("innertext")
            End If
            print "当前的行"&writerow
             If listtab.Exist(10) Then                    
                            For index=1 to datatable.LocalSheet.GetParameterCount
                                 indexres=datatable.LocalSheet.GetParameter(index)     '获得对应的参数数据
                                  if instr(1,listresult,indexres,1)>0 then
                                      datatable.LocalSheet.GetParameter("实际结果").Value="查询到结果"
                                    '写到excel中结果
                                    'writeExcelDatas(filename, sheetindex, x, y, values)
                                      writeExcelDatas "result",1,writerow,20,"查询到结果"
            
                                  else
                                     datatable.LocalSheet.GetParameter("实际结果").Value="没有结果"
                                      writeExcelDatas "result",1,writerow,20,"没有结果"
                                  end if
                            Next
                 else
                           datatable.LocalSheet.GetParameter("实际结果").Value="没有结果"
                           writeExcelDatas "result",1,writerow,20,"没有结果"
                 End If

                 '执行测试结果,预期值与实际值的比较
                expectvalue=trim(datatable.LocalSheet.GetParameter("期望结果"))
                actualvalue=trim(datatable.LocalSheet.GetParameter("实际结果").RawValue)
                
                If expectvalue=actualvalue Then
                         datatable.LocalSheet.GetParameter("测试结果").Value="PASS"            
                         writeExcelDatas "result",1,writerow,21,"PASS"
                else
                        datatable.LocalSheet.GetParameter("测试结果").Value="Failed"
                         writeExcelDatas "result",1,writerow,21,"Failed"
                End If
                '执行用例结束后的通知。。。
                If datatable.GetCurrentRow=runiteration Then
                    reportProgress "当前action用例执行完毕.....",5
                End If

11

 

 

 

 

小结一下:

 

(我觉得用QTP设计自动化脚本的时候,首先要考虑的是这个模块相当于是增删改查中的那个模块,然后再针对不同模块进行相关的处理)

1,其实所有的自动化脚本来说,跟开发一样的概念,对于增删改查这些功能模块,及其流程操作来说。

1.1 QTP做的最好的就是增,保存一条信息的功能,这个可以用于流程操作或者是针对系统测试入手的时候,进行系统环境的数据准备工作;

1.2 QTP支持的对应删,改这些操作其实跟增的功能差不多,也是比较的容易;

1.3 然后就是查的模块:

我对于这个模块很是纠结,想到了许多种处理的方式。下面主要介绍针对于查询功能数据的一些测试方法:

我将查询模块的功能分成了两种形式,一种是联动数据的信息查询,一种就是直接从数据库中校验数据的查询;

先说第一种:

联动数据的信息查询

意思就是这里的查询数据的结果,我们可以通过后台的数据库查询到对应的数据,但是我们也可以通过在系统的其他模块查询到该对应的数据是否正确与否;

对于这种情况,我的考虑是你从别的地方将所对应的数据先取出来,放到excel或者是txt文件中,最好是txt,excel读取文件中速度还是很慢的,比较麻烦在查询的将对应查询结果与你放在excel或者是txt中的内容对比一下,就可以知道你的查询结果的正确与否了;

直接从数据库中校验数据的查询

 意思就是这里的查询数据不依赖与其他的模块中数据,是完完全全从数据库中对应的表查询到的;

对于这种情况,我的考虑就是按照上面的方式进行操作;

上面设计的这种查询方式,有些缺点就是查询时候如果数据比较多,就脚本校验的比较的慢。关于这个问题,我会在后续中进行解决。。。。暂时先不进行处理。


本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/archive/2012/05/30/2526000.html ,如需转载请自行联系原作者。

目录
相关文章
|
14天前
|
人工智能 自然语言处理 测试技术
Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
Potpie.ai 是一个基于 AI 技术的开源平台,能够为代码库创建定制化的工程代理,自动化代码分析、测试和开发任务。
139 19
Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
|
12天前
|
缓存 Java 测试技术
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
129 3
【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
|
16天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
48 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
2月前
|
前端开发 JavaScript 测试技术
使用ChatGPT生成登录产品代码的测试用例和测试脚本
使用ChatGPT生成登录产品代码的测试用例和测试脚本
91 35
|
2月前
|
前端开发 JavaScript Java
通过ChatGPT生成测试用例和测试脚本(2)
通过ChatGPT生成测试用例和测试脚本
74 21
|
2月前
|
Dart 前端开发 Android开发
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
41 1
【02】写一个注册页面以及配置打包选项打包安卓apk测试—开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
2月前
|
弹性计算 运维 Java
OS-Copilot参数功能全面测试报告
作为一名运维工程师,我主要负责云资源的运维和管理。通过使用OS Copilot的-t/-f/管道功能,我顺利解决了环境快速搭建的问题,例如Tomcat的快速部署。具体步骤包括购买ECS服务器、配置安全组、远程登录并安装OS Copilot。使用-f参数成功安装并启动Tomcat,自动配置JDK,并通过|管道功能验证了生成内容的正确性。整个过程非常流畅,极大提升了工作效率。
55 12
|
3月前
|
监控 测试技术
slb测试会话保持功能
slb测试会话保持功能
96 6
|
4月前
|
SQL 测试技术 API
如何编写API接口的自动化测试脚本
本文详细介绍了编写API自动化测试脚本的方法和最佳实践,涵盖确定测试需求、选择测试框架、编写测试脚本(如使用Postman和Python Requests库)、参数化和数据驱动测试、断言和验证、集成CI/CD、生成测试报告及维护更新等内容,旨在帮助开发者构建高效可靠的API测试体系。
|
4月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
76 6

热门文章

最新文章

  • 1
    小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
  • 2
    3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密
  • 3
    Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
  • 4
    基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
  • 5
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
  • 6
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
  • 7
    「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
  • 8
    用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
  • 9
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
  • 10
    AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架