回复 20# 的帖子
1。我说的分支不是业务流的分支 比如你写个函数 什么for if switch一组合就有上百的可能 你不可能每条都测试过 而且有些场景你根本无法构造 还有保证有效性的同时需要考虑成本2。导致脚本不稳定的原因很多 比如网络问题,工具本身问题(识别对象不够稳定,有时当测试工具执行脚本超过24小时就会出现异常),脚本不够稳定等 当你的CASE达到成千上万时 还有当产品中包含大量的第三方控件时 稳定性问题无法避免 因此在一些自动化框架里有人就加入了RERUN机制
指教说不上 大家可以讨论下 我也小菜鸟 网络问题我现在工作中也经常碰到,我解决方案是把QTP的超时等待时间增长,至少1分钟,这样很大的降低了QTP由于网络慢,读不到对象导致报错的可能,但是这里有一个通病,那就是比方一个场景,我做了以后,到了下一个页面,我是要验证页面上的一个表格的数据,此时由于它不是一个控件,所以超时等待对他是无效的,这时候,由于业务的熟悉程度,我会手动的加上些WAIT函数,但是这个效率就不高了,毕竟我不想把WAIT的时间设置的过长,不过有时候我也会想法去先读一个控件,这样又能超时等待了,不知道我叙述的如何,呵呵~不过自动化的路还很长,要继续学习,累计经验 ... ...:L :Q 请问大家场景恢复是怎么处理的啊? 恩,我理解的自动化框架主要是“自动化”,还要包括:被测软件自动更新,脚本自动运行。。。 好高深的东西。。。拜读了。。。 框架,以实用为主! 赞同,yujie6832和TIB的观点,实用+适用为主,毕竟框架的目地是来用的。 自动化测试框架,首先进行自动化测试框架设计,然后按照设计录制不同模块的脚本,并将脚本分层,然后编写脚本,在录制的脚本在合理的情况下,模拟各种正确和不正确的情况,最后将这些不同的脚本通过主程序驱动在一起执行,过程中通用的函数抽象出来,写成单独的.vbs文件,以后既可以复用。是这样的吗?关于自动化测试框架到底该怎么开展呢?:( QTP包含了楼主说的所有的东西,脚本,函数库,数据文件,配置文件,测试结果。何必再框架框架的没完没了呢。 其实使用框架,不是使用框架,要根据天时、地利、人和,而且,无论是不使用框架,只要功能实现正确,就可以,俗话说的好,甭管黑猫,白猫,只要能抓老鼠的,就是好猫,但是框架是以用趋势,就好像开发语言一样,也是从简单的,慢慢演化到现在使用框架。 我对GUI 自动测试框架迷惑中。。。 学习到了,现在主要是用QC+QTP在做测试,但是生成自己想要的报告,还没有考虑,有没有什么好的建议或是资料可以分享一下啊 没明白透彻 这段代码是解决需要页面加载等待的问题,是FLEX的。
Function wait_Saving()
dimintLoop:intLoop = 0
Do while intLoop < 30
If Browser("index:=0").SparkApplication("id:=QTPShell").FlexCanvas("classname:=com.active.fnd.core.view.BusyBox").Exist(5) Then
intLoop = intLoop + 1
wait 2
Else
Exit do
End If
If 30 = intLoop Then
Reporter.ReportEvent micFail,"Saving data time out",""
ExitTest
End If
Loop
End Function。 Browser("index:=0").SparkApplication("id:=QTPShell").FlexCanvas("classname:=com.active.fnd.core.view.BusyBox") 这个对象是页面加载的时候会出现的一个Loading图标,当加载成功到另外一个页面,这个图标就消失了。所以退出,避免了浪费时间一直等待。 做自动化会遇到很多问题,脚本不稳定是写的不好,对象不能识别也会有办法,实在不行用坐标也可以。如果很多不能识别,那这种项目是不是适合自动化就需要考虑下了。把项目做成功了,你框架也就成型了,不要一来就考虑框架的问题,先从最实际的出发,一个一个问题去解决。框架是个思想,思想还是落实到实际里。 我同意~