QTP测试微信公众号九人三公架设脚本开发

2023-12-02 21:10

本文主要是介绍QTP测试微信公众号九人三公架设脚本开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

QTP测试微信公众号九人三公架设论坛:aqiulian.com,更多有关QTP测试脚本有关的咨询Q:212303635。作为关键字视图的可替换脚本编辑视图,在专家视图中编写的测试代码能与关键字视图中的各项元素一一对应。关键字视图和专家视图使用的是同一套对象库,在专家视图中,输入测试对象的顶层对象的控件类型名,比如Page,然后输入"(",则QTP会自动列出对象库中匹配的测试对象,如果匹配的仅有一项,则会自动完成测试对象的输入,如下所示:

wKioL1MwIUqC1gvMAAFjmE1U2fo557.jpg

输入一个测试对象后,就可以访问其下的属性、方法,以及下级对象,完成测试对象的选择后,可输入".",选择针对该测试对象作出的操作,如下所示:

wKiom1MwIueCdywxAAGn8-plVSM335.jpg

在专家视图中,需要像编写VBScript代码一样编写注释语句,也可以写在语句后面,如下所示:

wKiom1MwJGaSEznJAAE994dXOLw691.jpg

注释写在前面和写在后面,在关键字视图的表现是不一样的。


2. Utility对象的使用

在QTP中,提供了大量的Utility对象,用于辅助测试人员编写测试脚本,减少测试脚本编写的难度。

PathFinder对象中的Locate方法用于返回QTP中指定的目录的全路径。可以通过菜单"Tools > Options"来打开界面,在"Search list"中,添加需要的目录,这些目录是QTP有于搜索文件的目录,可以是绝对路径或相对路径,如下所示:

wKioL1MwJf2D9b7EAAGzTxTxI_w640.jpg

设置好这些路径后,就可以使用PathFinder对象的Locate方法来查找某个文件所在的目录全路径,例如:

1
p = PathFinder.Locate( "filename.dll" )

XMLUtil对象用于读取XML文件,其LoadFile方法可从指定的文件中读入XML格式的文本,返回XMLData对象,例如:

1
2
Set doc = XMLUtil.CreateXML()
doc.LoadFile "Test.XML"

可用Validate方法来指定某个Schema文件,检查加载的XML文件是否满足Schema的格式要求,例如:

1
2
3
4
ans = doc.Validate( "D:\ObjectRepository.xsd" )
If ans Then
   MsgBox "匹配指定的Schema!"
End If

使用Extern对象,可以调用外部的DLL函数,可以在开发测试脚本时,利用Extern对象调用丰富的Windows API函数,从而编写更为强大和灵活的测试代码,例如:

1
2
3
Extern. Declare micHwnd, "FindWindow" , "user32.dll" ,
                "FindWindowA" , micString, micString
hwnd = Extern.FindWindow( "Notepad" , vbNullString)

SystemUtil对象可用于在脚本运行过程中控制应用程序和进程,例如:

1
2
3
SystemUtil.BlockInput
Browser( "Home" ).Page( "Index" ).WebEdit( "userName" ).set "John"
SystemUtil.UnblockInput

Report对象可用于发送信息到测试结果文件,例如:

1
2
Report.ReportEvent micDone, "Start Action1 ..." , "运行Action1"
Report.ReportEvent micDone, "End Action1 ..." , "Action1结束"

其中micDone是事件状态的一种 ,事件状态可以是:micpass(标识测试步骤为通过),micFail(标识测试步骤为不通过),micDone(标识测试步骤为完成),micWarning(标识测试步骤包含警告信息)。

Environment对象可以读取和设置环境变量,环境变量包括Built-In和User-defined两种类型,Built-In是内建的环境变量,只能读取,User-defined是用户自定义的环境变量,可以读取和设置,例如:

1
2
OS = Environment.Value( "OS" )
OSVersion = Environment.Value( "OSVersion" )

可以在QTP中通过选择菜单"File > Setting",在"Environment"页中查看所有可读取的环境变量,如下所示:

wKioL1MwLJOwc-GNAAIFvgaqebw457.jpg


3. QTP内置函数

在QTP中,提供了一些内置函数,用于辅助测试人员编写测试脚本。

Print函数可用于在测试过程中显示输出信息,在测试脚本的运行过程中,Print Log窗口将保持打开的状态,例如:

1
Print "测试输出"

另外一种方式是MsgBox,例如:

1
MsgBox "测试输出"

在测试脚本中,有时需要模拟用户等待的过程,这时就可以使用Wait函数。Wait函数用于暂停测试脚本执行一段指定的时间,例如:

1
Wait 10

ExecuteFile函数可用于执行指定的VBScript脚本文件,并且一旦运行起来,脚本文件中的函数都可以被直接调用,例如:

1
ExecuteFile "MyTest.vbs"


4. 虚拟对象管理

如果程序中包含那些行为类似标准对象的对象,但是不被QTP所识别,则可以把这些对象定义为虚拟对象,并且映射到某类标准对象,比如button、check box等。

选择菜单"Tools > Virtual Objects > New Virtual Object",在界面中定义虚拟对象,如下所示:

wKiom1MxhHnxnEFNAAFtJuuWWXA176.jpg

单击“下一步”按钮,在界面中选择希望把对象虚拟成什么类型的标准对象,再单击“下一步”按钮,单击"Mark Object"按钮,在页面上选择想要虚拟化的对象的区域,继续单击“下一步”,如下所示:

wKiom1MxhVfw1AtIAAFARO5iCyg159.jpg

在这个界面中,选择虚拟对象的父对象,单击“下一步”按钮,在"Name"中输入虚拟对象的名称,在"Collection name"中输入集合的名字,然后单击“完成”按钮,完成虚拟对象的创建,如下所示:

wKioL1Mxhhnw_O-zAAE42uYN6mA619.jpg

创建虚拟对象后,可通过"Tools > Virtual Objects > Virtual Object Manager",看到刚才新建的虚拟对象,如下所示:

wKiom1MxhtnihMtdAADYKXlvlzQ501.jpg

创建虚拟对象后,在录制脚本时,QTP就会以虚拟对象对应的控件形式来录制测试对象。


5. Recovery Scenarios

在脚本运行过程中,可能会出现一些非预期的事件、错误、程序崩溃等情况,为了处理这种错误,QTP创建Recovery Scenarios,并关联到某个测试脚本,可以把这些定义的Recovery Scenarios称为恢复场景。

选择菜单"Resources > Recovery Scenario Manager",如下所示:

wKioL1Myuv7iH39CAADRytRa9dk226.jpg

在界面中单击列表中的"New Scenario"按钮,单击“下一步”按钮,如下所示:

wKioL1Myu2OAzS9lAAG36Aq3zTU453.jpg

在这个界面中,需要选择一个触发事件的条件,这些条件用于触发Recovery Scenario执行相应操作,可以有4种类型:

1) Pop-up window: 在测试运行过程中出现某个窗口。

2) Object state: 在测试运行过程中某个对象的属性匹配某个特定的值。

3) Test run error: 某个测试步骤在运行过程中出现错误。

4) Application crash: 应用程序出现崩溃现象。

选择某个触发器后,单击“下一步”按钮,在界面中设置对应触发类型的值,单击“下一步”,如下所示:

wKioL1MyvV2A15OKAAGeSljFP9c128.jpg

在这个界面提示需要定义Recovery Scenario的相应操作,单击“下一步”,如下所示:

wKioL1Myva6SzB7dAAGS10OhjzY543.jpg

在这个界面中可以选择Recovery Scenario操作的类型,包括4种类型:

1) Keyboard or mouse operation: 鼠标或键盘操作。

2) Close application process: 关闭应用程序的进程。

3) Function call: 调用某个函数。

4) Restart Microsoft Windows: 重新启动Windows。

选择某种类型的操作,单击“下一步”按钮,在界面中设置对应操作类型的值,单击“下一步”,即可看到操作已经被成功添加到列表中,如下所示:

wKiom1MywB2giaU-AAGDUsnFbIA835.jpg

在这个界面中直接单击“下一步”按钮,可添加另外一个操作,把"Add another recovery operation"设置为取消勾选状态,再单击“下一步”按钮,则可完成操作的定义,如下所示:

wKiom1MywIaCkyHAAAGHSjKHSng496.jpg

在这个界面中,需要指定Recovery Scenario的某个操作完成后,如何执行后续的测试脚本,可以选择6种测试脚本的运行方式:

1) Repeat current step and continue: 重复当前测试步骤并继续执行。

2) Proceed to next step: 执行下一测试步骤。

3) Proceed to next action or component iteration: 执行下一Action或组件的迭代。

4) Proceed to next test iteration: 执行下一个测试迭代。

5) Restart current test run: 重新启动当前测试脚本。

6) stop the test run: 停止测试脚本的运行。

选择某种操作类型后,单击“下一步”按钮,在界面中输入Recovery Scenario的名称和描述信息后,单击“下一步”按钮,再单击“完成”,如下所示:

wKioL1MywgbAyobaAADjS8VypZ4820.jpg

单击"Save"按钮,可把Recovery Scenario保存到文件中。定义好Recovery Scenario后,还需要让其与测试脚本关联。打开某个测试脚本,选择菜单"File > Setting",并切换到"Recovery"页面,如下所示:

wKioL1MywxHQarJuAAFOli7igxU639.jpg

单击"Add"按钮,在界面中单击"Recovery file"下拉框右边的"..."按钮,选择前面定义并保存的Recovery Scenario文件,单击"Add Scenario"按钮,返回"Recovery"页,如下所示:

wKiom1MyxCuQAb0cAAF0mYaXh-s354.jpg在"Activate recovery Scenario"的下拉框中,可选择何时执行该Recovery Scenario文件所定义的恢复操作。

这篇关于QTP测试微信公众号九人三公架设脚本开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/446845

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

Java调用Python脚本实现HelloWorld的示例详解

《Java调用Python脚本实现HelloWorld的示例详解》作为程序员,我们经常会遇到需要在Java项目中调用Python脚本的场景,下面我们来看看如何从基础到进阶,一步步实现Java与Pyth... 目录一、环境准备二、基础调用:使用 Runtime.exec()2.1 实现步骤2.2 代码解析三、

Python脚本轻松实现检测麦克风功能

《Python脚本轻松实现检测麦克风功能》在进行音频处理或开发需要使用麦克风的应用程序时,确保麦克风功能正常是非常重要的,本文将介绍一个简单的Python脚本,能够帮助我们检测本地麦克风的功能,需要的... 目录轻松检测麦克风功能脚本介绍一、python环境准备二、代码解析三、使用方法四、知识扩展轻松检测麦

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配