51Testing软件测试论坛

标题: qtp编写测试脚本问题 [打印本页]

作者: kuangquanshui    时间: 2009-4-22 11:39
标题: 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.Navigate  StartURL

都是代码的      
先谢谢大家了

作者: shanxi    时间: 2009-4-22 12:08
标题: 回复 1# 的帖子
我可以提供一份 C++写的访问google首页进行搜索的exe文件。
作者: kuangquanshui    时间: 2009-4-22 12:12
标题: 回复 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
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
标题: 回复 4# 的帖子
顶了  谢谢你   你的意思是自己写脚本  先要捕捉对象方在对象库里  是吗  我怎么感觉这么麻烦呢  编脚本的意图不就是不去录制吗     如果可以录制了我感觉是不是就不能编脚本了  不会是直接就在库里面设置对象属性吧  这么做那可真是厉害了
作者: kuangquanshui    时间: 2009-4-22 14:50
标题: 回复 4# 的帖子
朋友  刚才我把你的脚本运行了  可是我的对象却弄错了  我觉得是抓取的对象是不是   “百度一下”的那个按钮   我用spy的方式抓取的可是没好用!!!   应该是我的方法不对   抓取后事不是还要进行设置   帮我讲解一下  谢谢了   辛苦!!!!
作者: 风雪夜归人    时间: 2009-4-22 15:22
。。录制就是点录制的按钮,然后操作,被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
标题: 回复 7# 的帖子
没有明白  刚开始研究脚本    我在研究研究   改后的脚本自动就去找对象库里的对象是吗?   你说的调用submit时什么意思   我会抓spy对象  但不知道在那里管理    你能告诉我吗  就像虚拟对象那样可以对抓取的对象进行操作的管理地方   谢谢了
作者: 风雪夜归人    时间: 2009-4-22 23:34
切换到关键字视图,右键action,然后选object xxx的,里面可以管理对象
作者: kuangquanshui    时间: 2009-4-23 12:58
标题: 回复 9# 的帖子
朋友  我的意思是   和虚拟对象一样删除增加这样的管理   对属性进行设置这个我找到了  谢谢   还有  在一个脚本中抓取的对象在别的脚本中能调用吗   我的意思是在对象库中是不是在没有录制脚本之前抓取的对象都是保存在对象库中?  我抓完的东西在对象库中没有显示   这个问题怎么解决?
我点击 Resources——》Object--Repository  打开的页面是对象库吗   这里面没有我抓的对象  是必须在已经编写好的脚本中抓取吗     空脚本不行?   我的意思是把对象先抓好  然后编写完脚本了  直接就调用    我的意思不知道你理解了吗    希望听听你的方法
作者: kuangquanshui    时间: 2009-5-7 17:27
不能沉  自己顶了




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