yujie6832 发表于 2010-1-19 10:38:20

补充:关于蓝天伟说的第二点,我不甚明白,为什么脚本通过率达不到100%?在对象没发生变化的时候,为什么脚本会突然通不过?在脚本完成的时候都没有调试过吗?费解,至少我没碰到过,能解释的详细点吗?

lantianwei 发表于 2010-1-19 11:02:01

回复 20# 的帖子

1。我说的分支不是业务流的分支 比如你写个函数 什么for if switch一组合就有上百的可能 你不可能每条都测试过 而且有些场景你根本无法构造 还有保证有效性的同时需要考虑成本
2。导致脚本不稳定的原因很多 比如网络问题,工具本身问题(识别对象不够稳定,有时当测试工具执行脚本超过24小时就会出现异常),脚本不够稳定等 当你的CASE达到成千上万时 还有当产品中包含大量的第三方控件时 稳定性问题无法避免 因此在一些自动化框架里有人就加入了RERUN机制
指教说不上 大家可以讨论下 我也小菜鸟

yujie6832 发表于 2010-1-19 11:23:22

网络问题我现在工作中也经常碰到,我解决方案是把QTP的超时等待时间增长,至少1分钟,这样很大的降低了QTP由于网络慢,读不到对象导致报错的可能,但是这里有一个通病,那就是比方一个场景,我做了以后,到了下一个页面,我是要验证页面上的一个表格的数据,此时由于它不是一个控件,所以超时等待对他是无效的,这时候,由于业务的熟悉程度,我会手动的加上些WAIT函数,但是这个效率就不高了,毕竟我不想把WAIT的时间设置的过长,不过有时候我也会想法去先读一个控件,这样又能超时等待了,不知道我叙述的如何,呵呵~不过自动化的路还很长,要继续学习,累计经验

yetties2005 发表于 2010-1-19 11:30:22

... ...:L

ls_721521 发表于 2010-1-19 13:42:23

:Q

FLY000 发表于 2010-3-9 11:18:49

请问大家场景恢复是怎么处理的啊?

liuxl 发表于 2010-3-9 15:39:09

恩,我理解的自动化框架主要是“自动化”,还要包括:被测软件自动更新,脚本自动运行。。。

lyscu 发表于 2010-6-11 17:29:24

好高深的东西。。。拜读了。。。

TIB 发表于 2010-6-12 09:24:08

框架,以实用为主!

k4124k 发表于 2010-6-13 13:25:10

赞同,yujie6832和TIB的观点,实用+适用为主,毕竟框架的目地是来用的。

weixiu.ling 发表于 2010-6-18 09:58:05

自动化测试框架,首先进行自动化测试框架设计,然后按照设计录制不同模块的脚本,并将脚本分层,然后编写脚本,在录制的脚本在合理的情况下,模拟各种正确和不正确的情况,最后将这些不同的脚本通过主程序驱动在一起执行,过程中通用的函数抽象出来,写成单独的.vbs文件,以后既可以复用。是这样的吗?关于自动化测试框架到底该怎么开展呢?:(

Chain.Dai.China 发表于 2010-6-20 18:46:00

QTP包含了楼主说的所有的东西,脚本,函数库,数据文件,配置文件,测试结果。何必再框架框架的没完没了呢。

sunqiang1024 发表于 2010-6-30 15:57:31

其实使用框架,不是使用框架,要根据天时、地利、人和,而且,无论是不使用框架,只要功能实现正确,就可以,俗话说的好,甭管黑猫,白猫,只要能抓老鼠的,就是好猫,但是框架是以用趋势,就好像开发语言一样,也是从简单的,慢慢演化到现在使用框架。

kettleyang 发表于 2010-7-1 17:06:51

我对GUI 自动测试框架迷惑中。。。

newday_go 发表于 2010-7-6 11:07:49

学习到了,现在主要是用QC+QTP在做测试,但是生成自己想要的报告,还没有考虑,有没有什么好的建议或是资料可以分享一下啊

彭芙蓉 发表于 2010-11-17 16:53:01

没明白透彻

飞鱼的传说 发表于 2010-11-17 23:27:39

这段代码是解决需要页面加载等待的问题,是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。

飞鱼的传说 发表于 2010-11-17 23:29:48

Browser("index:=0").SparkApplication("id:=QTPShell").FlexCanvas("classname:=com.active.fnd.core.view.BusyBox") 这个对象是页面加载的时候会出现的一个Loading图标,当加载成功到另外一个页面,这个图标就消失了。所以退出,避免了浪费时间一直等待。

飞鱼的传说 发表于 2010-11-17 23:34:11

做自动化会遇到很多问题,脚本不稳定是写的不好,对象不能识别也会有办法,实在不行用坐标也可以。如果很多不能识别,那这种项目是不是适合自动化就需要考虑下了。把项目做成功了,你框架也就成型了,不要一来就考虑框架的问题,先从最实际的出发,一个一个问题去解决。框架是个思想,思想还是落实到实际里。

bukaiqiaode 发表于 2010-11-18 09:55:34

我同意~
页: 1 [2] 3
查看完整版本: 对自动化测试框架的理解--技术是拿来用的,不是拿来让人瞻仰的