51Testing软件测试论坛

标题: 求助:添加同步点等待时间和检查点检查文字问题(新) [打印本页]

作者: 84690267    时间: 2009-2-12 16:31
标题: 求助:添加同步点等待时间和检查点检查文字问题(新)
想做个 打开程序-执行-完成-关闭的测试,程序执行完成后,等待确认完成,关闭程序

方法1:
       因为知道大约的时间,可以在程序开始执行后,单纯的加一个等待30秒时间的代码(只是等待),然后关闭程序
       从网上找的资料是可以自己用wait写脚本,但没有说明具体怎么弄(直接在代码里添加wait(30);?),对高手来说可能一个词就够了,可对我这新手来说真的是摸不着头脑,还请知道的兄弟不厌其烦的详细指导下~

       (解决)   wait的我试着用了下 ,在代码中插入一行wait(30);语句就可以等待30秒后执行下一步骤,问题1解决

方法2:
        (1) 也可以对执行完成后的结果做同步点或检查点,然后关闭程序。
        但是,执行完成后显示的图片有差异,像图1中的时间实际运行时会有差异,同步点会出错,想直接对激活列做同步点,可WIN却只能取整个表做图像。
添加了同步点后程序能执行完成但测试脚本有错误提示(后来关了,但不能随时确定什么地方会有错误了),
        (2) 因为程序执行完成肯定会出现 “转换完成!" 字样,所以在日志那里加个文字的检查点(图2),等到出现 “转换完成" 字样再关闭程序也可以,就是不知道怎么对文字设置检查点,还请知道的兄弟教下

谢谢

[ 本帖最后由 84690267 于 2009-2-20 15:58 编辑 ]
作者: 学会洒脱    时间: 2009-2-13 11:09
问题一.要看你等待什么的出现了..能不用wait最好不用比如你等待"ABC"窗口的出现,那加一个win_exists("ABC",60);也就是说在60秒内只要出现了"ABC"窗口,就可以继续执行下去了.  
问题二,有点没看明白,但WR提供了对窗口截图和对控件截图,另外支持采用坐标来截图.(win_check_bitmap或obj_check_bitmap). 
    
问题:转换完成WR提供了obj_get_text这类的函数,可以获取到控件上的text文本,那接下来你要做的,就只是判断下获取到的文本里是否包含了:"转换完成"

[ 本帖最后由 学会洒脱 于 2009-2-13 11:15 编辑 ]
作者: 84690267    时间: 2009-2-13 13:50
谢谢回复
我就是想等待程序执行完成后关闭程序,上面两张图就是完成后的步骤和日志,刚做完自带的例子,因为运行时间有差异,用同步点无法判断完成后图片,按位置截取图片的话判断有误
完成后不会有窗口弹出。文字检查点教程中没有说明。

1 wait的我试着用了下 用wait(30);语句就可以,问题1解决
2 截图我是想截一部分,目前尝试尚未成功,用坐标截图两次判断有误,继续努力中
   获取控件上的text文本的 obj_get_text 函数怎么使用?obj_get_text("转换完成");?
obj_get_text();
if exits("转换完成",10) 继续??

[ 本帖最后由 84690267 于 2009-2-13 13:57 编辑 ]
作者: 学会洒脱    时间: 2009-2-13 16:27
1.wait语句加着是可以解决,但wait不管你窗口是否已经出现都会强制等待,如果超出30秒还没有出来,那不会多等会直接往下执行,这可能对性能方面等有影响,不建议用wait硬等待 

2是if(win_exits("转换完成",10)== E_OK)而不是if exits("转换完成",10)

对于obj_get_text这类的函数用法,请查WR帮助,里面有具体实例,

[ 本帖最后由 学会洒脱 于 2009-2-13 16:29 编辑 ]
作者: 84690267    时间: 2009-2-13 16:42
if(win_exits("转换完成",10)== E_OK)
是等待十秒中若出现 "转换完成" 的话就继续执行下一步吧?
需要把下面的代码全部用括号括起来吗?要不等待十秒钟没出现怎么办,也是继续执行下面的?还是退出?

想要一直等待它到出现 "转换完成"  就执行关闭程序 ,用if(win_exits("转换完成",10)== E_OK)
的话有在10秒中没运行完的情况,像将时间定为30秒  if(win_exits("转换完成",30)== E_OK),
10秒的时候就执行完成出现 "转换完成" ,然后就会在10秒的时候执行下一步?

我自己先去试一下,放假回家暂时没空研究了 呵呵

[ 本帖最后由 84690267 于 2009-2-13 16:49 编辑 ]
作者: 学会洒脱    时间: 2009-2-16 10:39
原帖由 84690267 于 2009-2-13 16:42 发表 if(win_exits("转换完成",10)== E_OK)是等待十秒中若出现 "转换完成" 的话就继续执行下一步吧?需要把下面的代码全部用括号括起来吗?要不等待十秒钟没出现怎么办,也是继续执行下面的?还是退出?想要一直 ...



退出或继续挂执行都看你自己的要求.你可以退出也可以继续执行.对于在等待时间外才出现的窗口,你可以加大等待时间,你估计个最大等待时间,保证想出现在窗口出现为止,当然,如果超出了你的最大等待时间,那可以认为是个异常或者BUG,接下来怎么处理看你需求了
作者: 84690267    时间: 2009-2-16 15:06
15:06 用截图的功能说是有错误,有东西没保存加载吗?代码的正在试验中

15:17 截图的可以了,截图的代码放错地方了貌似,调后一步可以正常判断了

16:48 代码还是不熟悉啊,纠正一点,应该是win_exists,少了个s
   之前没接触过代码,检查文字的话obj_get_text中内容怎么设定?坐标怎么判断?我从图片检查那的截取图片里取的坐标,另两个字段也不知道应该是什么
   
   obj_get_text("Spoon - htf_import_2(这里应该是什么?)", "Img2(同前面)",165, 544, 761, 162)
   if(win_exists("转换完成",30) == E_OK);

[ 本帖最后由 84690267 于 2009-2-16 17:03 编辑 ]
作者: 84690267    时间: 2009-2-20 15:47
截图功能又不能用了。。。
还是按上次的步骤,代码也都差不多,可就是等待检查图片有问题,救命啊~~~~

[ 本帖最后由 84690267 于 2009-2-20 15:48 编辑 ]




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