qtp实验报告.docx
《qtp实验报告.docx》由会员分享,可在线阅读,更多相关《qtp实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
![qtp实验报告.docx](https://file1.bdocx.com/fileroot1/2022-11/28/02950078-3a25-45e1-a84e-f19d34a07b81/02950078-3a25-45e1-a84e-f19d34a07b811.gif)
qtp实验报告
QTP实验报告
专业:
班级:
指导教师:
姓名:
学号:
一、测试目标
本次试验所用的软件为QTP所自带的飞机订票系统。
目的在于了解熟悉QTP自动化测试工具及其基本功能,掌握QTP自动化测试的基本测试步骤,能运用QTP测试工具对系统进行简单的自动化测试。
在QTP测试中能写出基本的脚本语言,以及能够对脚本语句进行编写。
本次所测试的内容包括QTP基本的录制与回放、增加点击help步骤、添加检查点以及参数化操作。
二、测试原理分析
QTP主要采用的是GUI模拟人的操作。
它在模拟人的操作时会通过录制记录操作的对象及所做的操作和顺序,然后在回放时按照记录顺序操作这些对象。
而在这个模拟的过程中最重要的莫过于界面对象控件的识别。
三、基本操作
3.1基本的启动操作
第一步:
点击QTP的执行文件;
第二步:
第一步完成后会出现下图的对话框,然后选择ActiveX,点击OK,如图1;
图1
第四步:
出现如一下图所示的对话框,然后点选BlankTest,如图2;
3.2录制与回放
3.2.1录制
以Windows的订票系统为例,录制登陆退出操作,操作前先选择Tools-Options-RestoreLayout,Automation-RecordandRunSettings,开始录制(注:
这里用户名我们统一用mercury)。
3.2.2回放
录制完成后为了验证录制是否正确,要进行脚本的回放。
在回放时会出现如下图所示的操作,此时点选第二个选项,如图3。
图3
3.2.3查看报告
回放结束后我们可以在Automation-Results查看结果报告,可以在Tools-Options-Run标签中是否勾选viewresultswhenrunsessionends来设定results在什么时候显示。
报告结果如图4;
3.3增加点击help步骤
选中Login点右键,InsertStep-StepGenerator。
见图5。
打开如图6所示界面,点击红框所圈的按钮。
见图6。
打开如图7所示界面,同时打开所测试的软件如图8,点击图7中的小手按钮抓取图8中的help按钮。
图7
图8
将Help按钮抓取后,将步骤中的help步骤上移到第一步。
加入判断语句增强HELP步骤,在ExpertView视图中,加入if语句进行判断,如果出现指定窗口,则点击“确定”按钮。
在此时需要将点击Help按钮后出现的FlightReservations窗口的确定按钮添加到对象库中。
在QTP中打开ObjectRepository窗口,并且点击红框中的按钮,将FlightReservations窗口添加到对象库中。
如图9所示。
在ExpertView视图中,加入if语句进行判断,如果出现指定窗口,则点击“确定”按钮。
代码如下所示。
Dialog("Login").WinButton("Help").Click
Ifdialog("Login").Dialog("FlightReservations").ExistThen
dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
EndIf
Dialog("Login").WinEdit("AgentName:
").Set"mercury"
Dialog("Login").WinEdit("Password:
").SetSecure"52955f0a06e7505a454d82b6c7d1711bba452da0"
Dialog("Login").WinButton("OK").Click
Window("FlightReservation").Close
此时返回到KeywordView视图中,点击运行按钮后,可正常运行。
3.4添加检测点
图10
检测点中分为标准检测点、图像检查点、位图检查点、文本检查点等、OutputValue、可访问性检查点。
所有操作均在ActiveScreen中完成。
如图10所示。
3.4.1标准检测点
所有的操作均在ActiveScreen中完成,在ActiveScreen窗口中点击右键后会弹出CheckpointProperties对话框,如图11所示。
对于每种对象类型QTP都会推荐默认的检查属性。
3.4.2图像、位图检测点,如图12所示。
图12
3.4.3文本检测点,检查FirstName。
如图13。
3.4.4页面检查点,检查页面中的链接、图片等信息。
如图14所示。
3.4.5OutputValue检查点,输出某些信息或属性到数据表中。
如图15、16
3.5QTP参数化
测试应用程序或WEB程序时,有时比较关心,运行同一组操作,采取多组不同的数据时,是否能正常运行。
这时并不需要录制多个TESTS,而只需要创建一个参数数据表,将每组不同数据存入数据表中,让程序运行即可。
即参数化。
QTP参数化分为录制实验程序,使用DataTable进行参数化,Randomnumber的使用,环境变量的使用。
3.5.1录制实验程序
只录制预定机票的流程,对预定机票中的数据进行参数化。
录制好的预定机票的流程的程序如下。
Window("FlightReservation").WinButton("Button").Click
Window("FlightReservation").WinObject("DateofFlight:
").TypeDataTable("data",dtGlobalSheet)
Window("FlightReservation").WinComboBox("FlyFrom:
").SelectDataTable("flyfrom",dtGlobalSheet)
Window("FlightReservation").WinComboBox("FlyTo:
").SelectDataTable("flyto",dtGlobalSheet)
Window("FlightReservation").WinButton("FLIGHT").Click
Window("FlightReservation").Dialog("FlightsTable").WinList("From").SelectRandomNumber(0,100),,0
Window("FlightReservation").Dialog("FlightsTable").WinButton("OK").Click
Window("FlightReservation").WinEdit("Name:
").Set"pp"
Window("FlightReservation").WinButton("InsertOrder").Click
Window("FlightReservation").WinButton("Button_2").Click
Window("FlightReservation").Dialog("OpenOrder").WinCheckBox("CustomerName").Set"ON"
Window("FlightReservation").Dialog("OpenOrder").WinEdit("Edit").Set"pp"
Window("FlightReservation").Dialog("OpenOrder").WinButton("OK").Click
Window("FlightReservation").Dialog("OpenOrder").Dialog("SearchResults").WinList("FlightNo.").SelectRandomNumber(0,100)
Window("FlightReservation").Dialog("OpenOrder").Dialog("SearchResults").WinButton("OK").Click
Window("FlightReservation").WinButton("Button_3").Click
Window("FlightReservation").Dialog("FlightReservations").WinButton("是(Y)").Click
3.5.2使用DataTable进行参数化
对flyfrom和flyto进行参数化,如下图17所示,点选图中红框部分。
打开如图18所示的对话框,点击Parameter选择DataTable。
对DataTable中的数据进行参数化,如下图19所示。
Flyto的设置和Flyfrom相同即可。
回放后出现错误。
是由于在回放第二行时由于在FlightTable中的From步骤中还是上一行的数据所以跑不通。
经过分析后,可采用Randomnumber方法对上述问题进行解决。
如下图20、21所示。
3.5.3DataDriver
可以自动检测脚本中可能需要参数化的变量,点击Tools-DataDriver。
3.5.4环境变量的使用
图22
File-Settings-UserDefined,对相应的步骤进行参数化,运用我们设置的环境变量。
如图22。
四、实验小结
通过QTP实验。
基本掌握了QTP对网页进行测试的流程。
也懂得了各种检查点的作用。
如文本检查点可以检查页面上是否出现正确的文字;网页检查点能检查网页上的连接等属性;图片检查点能检查图片来源;以及参数化的用处:
将常量的数据进行参数化,在不同的测试数据中可以重复利用检查点。
这些检查点和参数化过程都将网页的检查任务自动化,变成一个自动完成的过程,测试人员只需要编写已经参数化完成的测试数据,对网页过程进行自动的运行,检测,最后生成全面的检查步骤和结果报告。
同时,对于软件测试的流程方法有了进一步深入的了解。