51Testing软件测试论坛

标题: 紧急在线等待!一运行到文字检查点的脚本行,被测试的Windows窗口就自动关闭!!! [打印本页]

作者: wind_yp    时间: 2006-8-3 18:01
标题: 紧急在线等待!一运行到文字检查点的脚本行,被测试的Windows窗口就自动关闭!!!
当运行一个新建基本信息的测试脚本,到文字检查点的脚本行时,被测试的基本信息Windows窗口就自动关闭。具体过程如下:
1。录制了新建基本信息的脚本后,设置文字检查点,见图Test1和Test2
脚本的操作步骤的说明如下
1.1 录入故障大类编码
1.2 执行文字检查点,检查故障大类编码。
1.3 录入故障大类名称
1.4 录入备注
1.5 点击保存,结束测试。


[attach]10608[/attach]
[attach]10609[/attach]

2。执行测试脚本,执行到1.2步检查点处都正常,执行完1.2步后测试窗口自动关闭,执行1.3步录入名称时失败,过一会提示如下信息:
“Cannot find the "txtFaultCatalogueName" object's parent "故障大类" (class SwfWindow). Verify that parent properties match an object currently displayed in your application”

这个问题已经憋了俺好几天了,哪位能帮忙先谢谢了!!!


[ 本帖最后由 wind_yp 于 2006-8-3 18:09 编辑 ]
作者: cathy1997    时间: 2006-8-3 18:11
我也遇到过,这个问题.
后来是修改checkpoint,好像好了.你可以试试.但我没有真正理解.为什么?

上周学习了几天.目前还没有正常跑成功..

[ 本帖最后由 cathy1997 于 2006-8-3 18:13 编辑 ]
作者: wind_yp    时间: 2006-8-3 18:17
请问cathy1997 ,你是怎么修改的checkpoint?
作者: cassis    时间: 2006-8-3 18:22
标题: 偶也遇到相同问题:(
我遇到的问题与大大的基本类似,也是自动弹出关闭窗口,需要人工干预,

希望高手指点。。。
作者: wind_yp    时间: 2006-8-3 18:57
补充一下,被测试的应用程序是用C#.NET开发的
作者: wind_yp    时间: 2006-8-4 09:10
自己顶一下,仍在急切等待解决中。。。。
作者: fancy    时间: 2006-8-4 09:16
是不是字段名太长了?
作者: xiaonan    时间: 2006-8-4 09:23
首先,这里只需要standard checkpoint就可以.文字检查点是见检查画面上的文本文字的.至于为什么会关闭窗口,就不是很清楚了.
作者: sailor_hu    时间: 2006-8-4 10:20
换个方法就好了吧,  自己编代码进行检测,  写法就是下面这个样子的

datatable.GetSheet("Action1").AddParameter "text_001",Window("修改特殊客户合约限仓属性").WinEdit("Edit").GetROProperty("text")

Window("修改特殊客户合约限仓属性").WinObject("确定").Click 28,8

datatable.SetCurrentRow 1
If datatable.Value("会员限仓算法代码","demo3")=datatable.value("text_001","Action1") Then
        reporter.ReportEvent 0,"Modify step","修改成功"
        else
        reporter.ReportEvent 3,"Modify step","修改失败"
End If
作者: wind_yp    时间: 2006-8-4 12:11
多谢 sailor_hu!不过俺刚用QTP不就,对代码不太熟,有些地方不太理解,知道的请讲解一下
尝试理解你的代码如下:

rem 在Action1 sheet里加入一个名字是text_001参数列表,这个参数应用于对象属性:修改特殊客户合约限仓属性.Edit.text,"Edit"是输入栏控件名称
datatable.GetSheet("Action1").AddParameter "text_001",Window("修改特殊客户合约限仓属性").WinEdit("Edit").GetROProperty("text")

rem 点击窗口“确定”按钮
Window("修改特殊客户合约限仓属性").WinObject("确定").Click 28,8

rem 这一行代码不理解?
datatable.SetCurrentRow 1

rem 这一行代码不理解?
If datatable.Value("会员限仓算法代码","demo3")=datatable.value("text_001","Action1") Then

rem 这一行代码不理解?
        reporter.ReportEvent 0,"Modify step","修改成功"
        else
        reporter.ReportEvent 3,"Modify step","修改失败"
End If

[ 本帖最后由 wind_yp 于 2006-8-4 13:02 编辑 ]
作者: wind_yp    时间: 2006-8-5 19:36
经过测试,sailor_hu的办法可以解决问题!太谢谢sailor_hu大虾了!也谢谢大家帮忙出主意!
但是俺有个疑问,为什么QTP会出现如此问题?
似乎是一个QTP的BUG,但是文字检查点可是最简单的,最常用的一个功能啊!?这样想来,又怀疑MI不会犯这样低级的错误吧?
作者: alexchen    时间: 2006-8-6 12:06
谢谢楼上各位的讨论,很有收获!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2