51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 129370|回复: 551
打印 上一主题 下一主题

[讨论] 2012年给力新作《精通QTP——自动化测试技术领航》试读以及答疑专用贴

[复制链接]

该用户从未签到

1#
发表于 2012-1-6 14:34:06 | 显示全部楼层
该吃的吃,该喝的喝,该提问的还是要提问,憋着会憋出内伤的。
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2012-1-16 12:39:50 | 显示全部楼层
卓越和京东都上架了,刚刚已经全部抢完了。等它们第二批进货吧。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2012-1-20 21:13:21 | 显示全部楼层
拿到书有一个多星期了,先通读了一遍,感觉两位作者真是非常用心!前半部分生动有趣,引人入胜;后半部分深 ...
snakeshiy 发表于 2012-1-20 14:53



    别忘记上你购买的网站上给予评论哦。好的坏的我们都接受。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2012-1-30 12:50:00 | 显示全部楼层
框架一章内容观后感想和疑问。今天上班第一天刚看完,以下内容不知道说的对不对。
一、框架是基于excel,用 ...
hankliu520 发表于 2012-1-29 17:20

问题1:ORAOM在框架里的作用主要是用脚本自动转化TSR为XML形式的对象库文件,对于版本控制,我觉得还是要像你说的交给总控工程师来进行merge。

问题2:这是一个很好的建议,历史数据查询还是非常重要的。

问题3:这个问题其实我倒觉得不是问题,因为如果出现fail的情况,都会有标红,很容易就能在页面里找到。不过如果觉得麻烦我觉得倒可以在html开头加上链接自动定位(这个是纯HTML知识了)。
HTML结果文件都是一个case对应一个html结果文件的,这个多少是跟着case走的,都是通过excel报表的链接点进去查看的。

问题4:场景恢复脚本不是我给你的,他是根据不同的项目进行定制。因为对象都是不一样的。你可以参见本书的场景恢复章节。你说的自动杀掉QTP进程继续之星下一条case,在框架里是有的,当用例执行fail后会自动停止当前case,自动执行下一条case。

问题5:框架本身就已经支持注册行为函数,书里讲到过,oSet就是Set方法的所指向注册函数名。只是为了区分名称所以前面加了o,常用方法里都已经加入了report内容,对于测试人员自行注册需要自己加入report。

本书框架章节主要还是希望能够通过展示这样一个实例来让大家对框架的思想有这样一个认识以及如何来通过这样一个思想来定制一套属于自己的框架,因此书中主要还是抓住了精华和重要的部分,一些比较细节上的内容可能会忽略,有说的不对的地方也请谅解。后续我会把此框架的源代码以及程序发布出来供大家下载学习。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2012-3-15 08:38:47 | 显示全部楼层
Set oTest = DotNetFactory.CreateInstance("ClassLibrary1.Class1","d:\我的文档\Visual Studio 2010\Proj ...
zz45509 发表于 2012-3-14 17:18


检查下类写的是否正确,还有路径,然后重启QTP再试下。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2012-3-18 11:13:29 | 显示全部楼层
Const micLong=3
Const micString=8
Set oExtern=CreateObject("Mercury.ExternObj")
oExtern.Declare m ...
zz45509 发表于 2012-3-16 10:10


需要把qtp安装目录下的bin路径拷贝到环境变量的PATH下即可,然后直接执行vbs即可
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2012-3-18 11:16:21 | 显示全部楼层
本帖最后由 zzxxbb112 于 2012-3-18 11:18 编辑
有个问题呀,因为QTP的result文件需要在QTP的整个Test执行完毕之后才能生成出来,现在我想在脚本执行完毕之 ...
snakeshiy 发表于 2012-3-16 16:42


可以调用一个外部vbs来进行控制
while qtapp.test.isrunning


wend

当然本书框架中是直接从EXCEL来进行调用的,因此不会出现此问题,因为AOM中的qtapp.test.run方法执行后会一直等待Qtp脚本执行完毕后才会执行后续脚本。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2012-3-18 11:18:54 | 显示全部楼层
sResultsXML=_
"C:\Program Files\Mercury Interactive\QuickTest Professional\Tests\Test20\Res1\Report ...
zz45509 发表于 2012-3-16 17:24



    此脚本是vba脚本,而vbs脚本
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2012-3-20 12:11:10 | 显示全部楼层
使用循环时,每次的报告Reporter.reportEvent都是单独的页面,如何让他们显示在一个页面呢。
zz45509 发表于 2012-3-20 10:59


LoadAndRunAction 来调用就可以实现你所说的功能,如果需要实现超链接形式的可以自己写一个方法来实现。样式和结构可以参考MTM的结果报告,QTP本身不支持这样的功能。
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2012-3-23 12:05:01 | 显示全部楼层
通过资源池静态调用方式调用text.txt文件,里面有两个函数
Function hello_world_msg(tt)
Msgbox tt
End ...
vancl 发表于 2012-3-22 17:28


如果按照步骤做的话肯定是没问题的,你确定函数加载成功了吗。available keyword里有显示你的函数吗
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2012-5-16 13:22:17 | 显示全部楼层
请问一下,书第311页的用例:
这样写的:
set eom=createobject("excel.application")
'打开D盘中的1.xl ...
cdy90 发表于 2012-5-16 09:40


的确是写错了,谢谢你的建议,我们会在第二版中进行修改。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2012-5-28 13:19:29 | 显示全部楼层
呵呵,斑竹能否见告?(在线等了好几天乐)

请问,testcase步骤生成器(459页测试步骤生成器)模糊匹配是 ...
terrylili 发表于 2012-5-28 13:06



   这个模糊匹配不需要另外写脚本,只控件自身支持的。
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2012-6-6 09:11:00 | 显示全部楼层
回复  yujie6832
余哥你好:
把书读完了,收获颇丰啊。FRAMEWORK有几个问题问一下:

1. 用例设计中WI ...
yongfeiuall 发表于 2012-6-1 16:04


1. 如果有三层的话,可以更改框架,也可以把对象库里的page层删除。
2. 对象库大的话可以根据模块分文件。
3. 有特殊逻辑或者特殊方法可以使用RegisterUserFunc把这些新方法注入到对象中。

最后想说一句,本书的框架章节,只是给大家一个展示,目的还是让大家能够学会框架的思想,这样才有能力独立完成框架的设计。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2012-6-6 09:12:08 | 显示全部楼层
有没有电子书可以分享一下
徐辉 发表于 2012-6-5 15:43



没有电子版的。
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2012-6-10 13:34:22 | 显示全部楼层
又来请教作者了,最近面试碰到一个QTP问题。不知道怎么写。请教代码怎么写。
--------------------------- ...
376662600 发表于 2012-6-9 22:28


你可以看一下scripting.filesystemobject组件
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2012-6-11 20:31:41 | 显示全部楼层
回复  yujie6832


    你好,我看到了正则表达式这一块,有些不理解的地方,请问,使用正则表达式必须 ...
fengdishudu444 发表于 2012-6-11 15:27


对象库的对象属性也是可以开启正则表达式的。
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2012-6-11 20:33:37 | 显示全部楼层
不知道你说的是什么? 。。。。能不能贴下代码。应该不多吧。
376662600 发表于 2012-6-10 16:07



    书上有例子的,fso文件处理那章你可以仔细看下。
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2012-6-12 21:33:29 | 显示全部楼层
回复  zzxxbb112


    也就是说我在对象库中将对象属性开启正则表达式,在脚本中,例如: WebButton(" ...
fengdishudu444 发表于 2012-6-12 16:35


你改的是对象关键字,而不是识别属性,对象关键字是不影响对象识别的,影响的是识别属性,所以你需要在打开对象库后,添加完对象,你会看到右下方有对应的对象属性,找到需要模糊匹配的属性后,点击属性值会在右方出现一个小按钮,具体你可以看书中的讲解。还有希望能够请先仔细阅读对象库那章。了解了之后你就会明白了。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2012-6-29 15:27:45 | 显示全部楼层
老师,我按照书320页的实例:
Dim WshShell
Set WshShell=CreateObject("WScript.Shell")
WshShell.Run  ...
没翅膀的飞鱼 发表于 2012-6-28 22:29



    你是英文操作系统吧,把标题改为Untitled - Notepad即可
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2012-7-2 15:56:20 | 显示全部楼层
回复  yujie6832


   亲爱的作者, 你好,你的这本书给予了我很大的帮助。现在在学习书中的场景恢复章 ...
fengdishudu444 发表于 2012-7-2 09:44


可以共享所有其他脚本的,关于自定义场景恢复函数的绝对路径问题是QTP的bug,他本身无法设置相对路径,即使你已经设置了folder路径也无法生效,我这边提供一个办法:动态去生成一个函数库文件到C: 在跑完脚本后把这个文件删除。这样就可以很好的解决这个问题。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-6-6 05:55 , Processed in 0.093896 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表