51Testing软件测试论坛

标题: 插入文字/文字区域检查点 [打印本页]

作者: songhongli_cong    时间: 2006-8-17 11:37
标题: 插入文字/文字区域检查点
检查搜索网页上或是窗口上该出现的文字是否包括搜索的关键字怎么插入检查点?请教求助~
作者: BiSheng    时间: 2006-8-17 11:55
插入一个文本检查点。楼主可以用mid函数取出窗口上的指定字符,然后再和搜索的关键字进行比较
作者: yangkinki    时间: 2006-8-17 12:07
楼主说的这种情况可能必须得修改脚本,用检查点可能实现不了,如果输入的关键字是固定的,而且搜索网页也是固定的,那么可以插入这个搜索网页的检查点
可以用getroproperty 取得对象属性的值,然后判断是否网页中的标题是否包含关键字
作者: songhongli_cong    时间: 2006-8-17 12:10
首先谢谢回复,声明我刚学QTP两天不到,VB也没有学过,楼上说mid函数我还没有接触过,只是把中文手册看过一遍,添加过对象、网页、文字、表格的检查点,我觉得这里的问题和添加文字检查点还不一样。
作者: songhongli_cong    时间: 2006-8-17 12:14
三楼说的就是我的意思,但是我还将关键字做了参数化。想再插入一个检查点。还有一个问题就是在做参数化的时候首末必须是同一个界面吧?
作者: yangkinki    时间: 2006-8-17 12:20
做参数化的时候,首末必须是同一个界面? 参数化是对对象进行参数化,与界面没有什么关系吧,可能没有明白楼主的意思
作者: songhongli_cong    时间: 2006-8-17 13:37
看了点东西感觉自己学到的只是点皮毛。谢谢楼上的,昨天做参数化时报错就是对象属性不对,今天做了一个最简单的参数化就通过了,错以为是录制脚本时需要刚开始页面和最终页面要一致。
就以下面为例:在QTP自带的订票例子说,输入出发点做参数化,三参数第一个运行脚本成功,但第二个就错了,报不可收回的错误,下面是对象属性不一致,第三个参数就没有执行到。不知道我说清楚了没?
我自己也不知道怎么简要表达出来,嘿嘿。
作者: xiaonan    时间: 2006-8-17 14:12
楼主是不是没有对检查点也参数化啊?第一个参数正确,可能正好和设置检查点时一致,而第二个就与检查点的内容不一致了.
作者: songhongli_cong    时间: 2006-8-17 15:37
有联系的我都进行了参数化,该建立输出值的也建了,还是不成功。我晕了……………………
高手们快来帮帮我吧。错误提示为:
The test run cannot continue due to an unrecoverable error.

Cannot identify the object"fromPort"(of class WebList).Verify that this object's properties
match an object currently displayed in your application.

谢谢啦
作者: xiaonan    时间: 2006-8-17 15:46
这个错误是说你脚本里的测试对象fromPort和运行时对象fromPort的某些属性不一致,导致在回放的时候QTP无法在应用程序上找到于测试对象fromPort完全匹配的运行时对象fromPort,所以报这个错误.简单的来说就是你对象库里的这个对象和实际运行中的这个对象不一致.

[ 本帖最后由 xiaonan 于 2006-8-17 15:48 编辑 ]
作者: songhongli_cong    时间: 2006-8-17 15:58
我的操作如下:keyword view里点value值出现参数化的图标,就将constant改为了paramenter其中name设为departure,在data table里出现了该项并有默认值London,我又加入两参数“Paris”“Seattle”,就这样啊。您说哪里出错了,对象属性我也没有修改过啊。请您帮忙。……
作者: walker1020    时间: 2006-8-17 17:12
你对输入出发点做参数化,三个参数中第一次运行脚本成功,但第二个就错了,说明你的参数化有问题。请楼主最好把 Expert View 里面的脚本放上来看看吧。根据你的脚本容易判断到底是什么地方有问题。
作者: songhongli_cong    时间: 2006-8-17 17:27
先说一下这个问题——录制的同一个脚本,也有参数化。在看了楼上的帖后又执行了一遍脚本,居然成功了(前几次我一直在试都失败了),接着什么也没有变就又执行了一次居然又出现同样的错误。我要疯掉啦……
等等我录制一个最简单的脚本把他的expert view登上来啊。气愤的是我看了各个网上的资料,还看了订票动画演示操作是一样的,为什么就出错呢?请教各位高手!
作者: lyscser    时间: 2006-8-17 20:32
呵呵,再学一个星期就不会这么问了
作者: walker1020    时间: 2006-8-18 10:12
同一个脚本,有的时候可以正常运行,有的时候就出错。这在 运行 QTP 的脚本时经常遇到。这里面的原因有许多,有网络的原因,有脚本不够健壮的原因,有事前考虑不周的原因,有对被测系统认识不深的原因,甚至也有QTP 的 Bug的原因(有的时候我怀疑过)。录制完脚本后,你最好立即就运行一次,看看脚本是否可以正常运行;然后再去参数化,增加 检查点等工作。
作者: walker1020    时间: 2006-8-18 10:28
不要以为录制结束了以后就万事大吉了。其实这只是开始,是万里长征的第一步呢。你首先要保证脚本在每次运行时都可以正常运行,然后再优化脚本等
作者: songhongli_cong    时间: 2006-8-18 11:20
看到大家的回帖我很高兴,这个问题一直困饶我,我决定再继续看QTP,慢慢去发现它的解决办法。大家的建议我接收了。谢谢哈。嘿嘿
作者: songhongli_cong    时间: 2006-8-18 11:21
嘿嘿,我在这里的会员升级了,庆贺一下。希望大家都来51testing
作者: songhongli_cong    时间: 2006-8-18 14:08
我把一个参数化的例子中的  expert view 录入下面:
Browser("Welcome:Mercury Tours").Page("Welcome:Mercury Tours").WebEdit("userName").Set"zlzshl"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").WebEdit("password").SetSecure "44e53b267b7b4e4ee98e753ad59e9e221c97"
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 31,10
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromPort").Select "London"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("fromDay").Select DataTable("startime", dtGlobalSheet)
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").WebList("toPort").Select "Sydney"
Browser("Welcome: Mercury Tours").Page("Find a Flight: Mercury").Image("findFlights").Click 47,12
Browser("Welcome: Mercury Tours").Page("Select a Flight: Mercury").Image("reserveFlights").Click 67,11
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passFirst0").Set "song"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("passLast0").Set "mercury"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebEdit("creditnumber").Set "123"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").WebList("cc_exp_dt_mn").Select "02"
Browser("Welcome: Mercury Tours").Page("Book a Flight: Mercury").Image("buyFlights").Click 70,14
Browser("Welcome: Mercury Tours").Page("Flight Confirmation: Mercury").Link("SIGN-OFF").Click
Browser("Welcome: Mercury Tours").Page("Sign-on: Mercury Tours").Link("Home").Click
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours_2").Sync
作者: songhongli_cong    时间: 2006-8-18 14:12
上面脚本在执行的时候显示提示为:
The test run cannot continue due to an unrecoverable error.

Cannot identify the object "fromPort" (of class WebList). Verify that this object's properties match an object currently displayed in your application.
作者: ztcreative    时间: 2006-8-20 15:27
呵呵 这个问题我也遇到过 你加上这个代码、
if Browser("Welcome:Mercury Tours").Page("Welcome:Mercury Tours").WebEdit("userName").exist(20) then Browser("Welcome:Mercury Tours").Page("Welcome:Mercury Tours").WebEdit("userName").Set"zlzshl"
end if
作者: walker1020    时间: 2006-8-21 10:55
你在下面这一行添加 wait(5) 试试看:
Browser("Welcome: Mercury Tours").Page("Welcome: Mercury Tours").Image("Sign-In").Click 31,10
作者: songhongli_cong    时间: 2006-8-21 14:37
谢谢大家,今天按照以前的步骤录制了一下脚本,再执行就通过了。原因具体我也不知道。谢谢大家哈
作者: walker1020    时间: 2006-8-21 14:54
楼主,趁着你的高兴劲,我建议你还是研究一下你后来录制的、在#23 提到的脚本,比较一下两个脚本的区别。否则我担心以后还是会遇到此类问题,因为你不知道是什么原因使得原来的脚本运行不稳定而后来的脚本执行就通过了。
作者: songhongli_cong    时间: 2006-8-21 15:29
比对了一下是一样的哦。嘿嘿,我要晕了……………………
作者: walker1020    时间: 2006-8-21 15:47
仔细比较,肯定有不一样的地方,一点细微的差别可能就导致了你原来的脚本不能每次都正常运行




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