本文为原创,转载请注明作者:Cheers.Lee 和网络来源。
关于QTP处理弹出信息(或者说对话框或pop-up信息),应该是个比较简单的问题,本来是个很简单的问题,但是网上说的确实五花八门、而且没有讲清楚,写这边文章旨在让大家都QTP处理弹出信息,有个彻底的了解。
问题产生的原因:
(1)用户用户登录校验弹出框信息,通过弹出信息判断错误的类型,执行相应的操作。
(2)如何抓取弹出信息内容。
(3)QTP针对弹出信息在对象库中只能识别出一个对象如何处理。比如说:你的用户登录错误信息类型有两种:a.请出入用户名。b.用户名和密码输入不正确。我们通过添加static对象,然后判断static对应的对象是否存在,但是即使有2个或多个static对象,但是在对象库中只能加入一个对象,那又如何处理?
问题的解答:
首先我们先用通过对象识别器spy,点击dialogue中的文字内容(这一点很重要),将其添加到对象库,该对象其实是一个static对象;其他的用描述性编程,获取其弹出信息内容。为什么不全用描述性编程,原因是有些弹出信息用描述性编程依然无法获取,找不到对象(这让我也郁闷好几天),但是有的却可以,我也无语。所以这里让QTP把提示信息内容识别成一个static对象,然后判断它是否存在,以达到我们判断的目的。
也许可能我没有讲清楚,但是我想解决问题的方法大家应该明白了,呵呵!
脚本如下:
Browser("电子政务").Page("电子政务").WebEdit("user_code").Set DataTable("username", dtGlobalSheet)
Browser("电子政务").Page("电子政务").WebEdit("user_pass").Set DataTable("usercode", dtGlobalSheet)
Browser("电子政务").Page("电子政务").Image("dl-9").Click
If Browser("电子政务").Dialog("Microsoft Internet Explorer").Exist Then
If Browser("电子政务").Dialog("Microsoft Internet Explorer").static("text:=请输入用户名!").Exist Then
Browser("电子政务").Dialog("Microsoft Internet Explorer").WinButton("text:=确定").click
Reporter.ReportEvent micPass,"失败测试","用户名不能为空"
elseif Browser("电子政务").Dialog("Microsoft Internet Explorer").static("登录=[用户名/密码不正确!]").Exist then
Browser("电子政务").Dialog("Microsoft Internet Explorer").WinButton("text:=确定").click
Reporter.ReportEvent micPass,"失败测试","用户名、密码输入不正确"
else Reporter.ReportEvent micFail,"输入异常","输入异常错误!"
End If
else
Reporter.ReportEvent micPass,"登录成功","登录成功!"
end if
我的测试数据如下图:
我的弹出信息框内容如下图:
相关推荐
对话框在Windows编程中扮演着重要角色,它们是弹出式窗口,用于收集用户输入或显示信息。对话框通常包含各种控件,如文本框、复选框、单选按钮、按钮等。在VC++中,我们可以使用MFC(Microsoft Foundation Classes)...
- **popup message box**:在遇到错误时弹出错误消息对话框,需手动选择是否继续执行或终止。 - **process to next action iteration**:出现错误后,QTP将继续执行下一次动作迭代。 - **stop run**:遇到错误即刻...
- **异常处理**:如果在关闭过程中遇到异常,如弹出对话框,则需要通过激活对话框并发送键盘事件来模拟用户点击确定按钮的行为,从而确保关闭过程顺利完成。 - **报告结果**:最终,函数会根据关闭情况输出相应的...
在选择“Insert Standard Checkpoint”后,QTP将弹出一个对话框,允许你配置检查点的详细设置。你可以选择不同类型的检查点,如: - 文本检查点:验证网页上的文字内容。 - 图像检查点:对比图片的像素或文件哈希...
- **函数作用**:创建一个带有时限的弹出框。 - **参数**: - `Value`:弹出值。 - `waitTime`:停留时间。 - `Title`:弹出框标题。 - **应用场景**:提示用户等待测试完成。 ##### 8. QTP_Change_Color...
2. **设置正则表达式**:在检查点的编辑页面中,点击 `Constant` 后的“编辑”按钮,在弹出的 `Constant Value Options` 对话框中,勾选 `RegularExpression` 复选框,并在 `Constant` 输入框中输入相应的正则表达式...
4. **处理弹出对话框**: - 当对话框出现时,可以通过`Browser("名称").Dialog("名称").Exist(等待时间)`检查其是否存在。若存在,可以获取对话框内静态文本的属性值,如`GetROProperty("text")`,与数据表中的预期...
- **安装许可证:** 安装完成后启动QTP应用程序,会弹出License Warning警告页面。点击“Install License”按钮进入下一步。 - **选择许可类型:** 选择License Type为“Concurrent license”并点击“下一步”。 - **...
假设我们有一个简单的测试场景,需要在两个Action之间传递一个变量,以实现弹出提示框并根据用户的输入做出响应的功能。 ##### 1. Action1的实现 在Action1中,我们将创建一个`WScript.Shell`对象,并将其赋值给...
- 处理弹出的消息框:`scMsgbox dlg` ##### 4. 消息框处理 ```vbscript '************************************************************************scMsgBox Sub scMsgbox(dlg) Set boxDesc = Description....
- 在弹出的对话框中,选择“新建”来创建一个新的虚拟对象模板。 - 按照提示设置虚拟对象的名称、映射的标准对象类型以及任何其他必要的属性。 - 保存虚拟对象模板后,可以在测试脚本中引用这些虚拟对象。 2. **...
- 验证对话框提示信息:如果弹出对话框,可以通过`Exist`方法判断其存在,然后获取提示信息并与预期值对比。 ```vbscript If Browser("web_name").Dialog("dialog_name").Exist(1) Then error_message = Browser...
在遇到弹出对话框时,可以获取其上的提示信息并与预期值进行对比: ```vb If browser("web_name").Dialog("dialog_name").Exist(1) Then error_message = browser("web_name").Dialog("dialog_name").Static("用户...
- **启动时的选择**:当启动QTP时,会弹出Add-in Manager对话框,要求用户选择合适的插件。这一选择直接影响着后续录制过程中的对象识别能力。 - **插件的重要性**:不同的插件适用于不同类型的软件应用程序,因此...
双击该文件,会弹出一个显示“Hello World!”的对话框。`MsgBox`是VBS内建的函数,用于显示消息框,其语法允许自定义对话框的内容和标题。 VBS中的函数通常包括参数和可能的返回值。在`MsgBox`的例子中,"Hello ...
双击文件,就会弹出一个显示“Hello World!”的对话框。`MsgBox`是VBS内置的函数,用于显示消息框。它的基本语法是`msgbox "内容", 选项, "标题"`,其中“内容”是你想显示的信息,“选项”可以用来设定对话框的样式...