kuangquanshui 发表于 2009-4-22 11:39:10

qtp编写测试脚本问题

朋友们我在学习在qtp中手动编写测试脚本   自己研究了很长时间但还是一头雾水 没有下手的地方   谁能帮帮我啊 例如我想编个脚本时这样的
1登陆hao123
2在百度中输入nba中国
3点击NBA中文网连接
4输入用户名密码点击登陆
5点击留言按钮输入留言信息点击提交
6退出
      有朋友帮帮我写下代码吗   
不是这样形式的
Browser("XXX").Page("【XXXX】-XXXX").Frame("topFrame").Link("XXX").Click
Browser("XXX").Page("【XXXX】-XXXX").Frame("rightWorkSpace").Link("XXX").Click
Browser("XXX").Page("【XXXX】-XXXX").Frame("test_frame").Link("XXX").Click
Browser("XXX").Page("【XXXX】-XXXX").Frame("test_frame_2").WebEdit("DEMAND_T/DEMAND_NAME").Set DataTable("Xname", dtGlobalSheet)
Browser("XXX").Page("【XXXX】-XXXX").Frame("test_frame_2").WebList("CALLING_ID").Select DataTable("Hangye", dtGlobalSheet)
Browser("XXX").Page("【XXXX】-XXXX").Frame("test_frame_2").WebList("CALLING_DETAIL_ID").Select DataTable("Zihangye", dtGlobalSheet)
这样形式的我用录制的方法可以得到
我想知道这样编写的方式的
StartURL = "www.51testing.com"
set IE = CreateObject("InternetExplorer.Application")
IE.Visible = true
IE.NavigateStartURL
都是代码的      
先谢谢大家了

shanxi 发表于 2009-4-22 12:08:09

回复 1# 的帖子

我可以提供一份 C++写的访问google首页进行搜索的exe文件。

kuangquanshui 发表于 2009-4-22 12:12:22

回复 2# 的帖子

谢谢   我的邮箱285431693@qq.com       我刚才编了个简单的脚本   然后录制了一个脚本   这两个脚本时一样的
Browser("hao123网址之家--实用网址,搜索大全,尽在www.ha").Page("hao123网址之家--实用网址,搜索大全,尽在www.ha").WebEdit("word").Set "XXX"
Browser("hao123网址之家--实用网址,搜索大全,尽在www.ha").Page("hao123网址之家--实用网址,搜索大全,尽在www.ha").WebButton("百度一下").Click
Browser("百度搜索_XXX").Page("百度搜索_XXX").Link("XXXXXX").Click
Browser("XXXXX").Page("XXXXX").Sync
Browser("XXXXX").Close
都是这个脚本 可是我编的就不能运行好像是因为不能获取对象而录制的就可以    这是为什么

风雪夜归人 发表于 2009-4-22 13:40:42

On Error Resume Next

Dim obj
Dim strUserDir,strStartURL

'关闭IE
SystemUtil.CloseProcessByName "IEXPLORE.EXE"

strStartURL = "http://www.hao123.com"

Set obj = CreateObject("wscript.shell")
strUserDir = obj.ExpandEnvironmentStrings("%userprofile%")
Set obj = Nothing
'以最大化打开ie,并访问strStartURL
SystemUtil.Run "C:\Program Files\Internet Explorer\iexplore.exe", strStartURL, strUserDir, "open",3

'Wait five seconds
Wait(5)

'Search aaa
Browser("micClass:=Browser").Page("micClass:=Page").WebEdit("name:=Word","html tag:=INPUT").Set "aaa"
Wait(3)
'Click button
Browser("micClass:=Browser").Page("micClass:=Page").WebButton("name:=百度一下").Click
Wait(3)

这样试试,因为如果你需要使用对象的话,就要通过录制来获取,你直接写的话,是使用的描述性编程,根据脚本的描述来查找对象的,我不知道这个脚本可以运行不,因为我装的有qtp的机器上不了网,试试嘛。

不知道脚本里面对象怎么描述了,就用spy看下,找到特殊的属性

kuangquanshui 发表于 2009-4-22 14:37:22

回复 4# 的帖子

顶了谢谢你   你的意思是自己写脚本先要捕捉对象方在对象库里是吗我怎么感觉这么麻烦呢编脚本的意图不就是不去录制吗   如果可以录制了我感觉是不是就不能编脚本了不会是直接就在库里面设置对象属性吧这么做那可真是厉害了

kuangquanshui 发表于 2009-4-22 14:50:18

回复 4# 的帖子

朋友刚才我把你的脚本运行了可是我的对象却弄错了我觉得是抓取的对象是不是   “百度一下”的那个按钮   我用spy的方式抓取的可是没好用!!!   应该是我的方法不对   抓取后事不是还要进行设置   帮我讲解一下谢谢了   辛苦!!!!

风雪夜归人 发表于 2009-4-22 15:22:53

。。录制就是点录制的按钮,然后操作,被qtp纪录下来,记录期间你访问到的对象都被qtp保存在对象库里面,然后你如果写脚本用到的话,可以直接使用抓取的对象,而不用一个个的去描述。
把这句 :Browser("micClass:=Browser").Page("micClass:=Page").WebButton("name:=百度一下").Click
改为:
Browser("micClass:=Browser").Page("micClass:=Page").WebEdit("name:=Word","html tag:=INPUT").submit
调用submit方法应该就可以了。

kuangquanshui 发表于 2009-4-22 17:28:26

回复 7# 的帖子

没有明白刚开始研究脚本    我在研究研究   改后的脚本自动就去找对象库里的对象是吗?   你说的调用submit时什么意思   我会抓spy对象但不知道在那里管理    你能告诉我吗就像虚拟对象那样可以对抓取的对象进行操作的管理地方   谢谢了

风雪夜归人 发表于 2009-4-22 23:34:23

切换到关键字视图,右键action,然后选object xxx的,里面可以管理对象

kuangquanshui 发表于 2009-4-23 12:58:40

回复 9# 的帖子

朋友我的意思是   和虚拟对象一样删除增加这样的管理   对属性进行设置这个我找到了谢谢   还有在一个脚本中抓取的对象在别的脚本中能调用吗   我的意思是在对象库中是不是在没有录制脚本之前抓取的对象都是保存在对象库中?我抓完的东西在对象库中没有显示   这个问题怎么解决?
我点击 Resources——》Object--Repository打开的页面是对象库吗   这里面没有我抓的对象是必须在已经编写好的脚本中抓取吗   空脚本不行?   我的意思是把对象先抓好然后编写完脚本了直接就调用    我的意思不知道你理解了吗    希望听听你的方法

kuangquanshui 发表于 2009-5-7 17:27:10

不能沉自己顶了
页: [1]
查看完整版本: qtp编写测试脚本问题