51Testing软件测试论坛

标题: 小白求问,QTP录制登录百度首页 [打印本页]

作者: whendream    时间: 2013-5-23 14:48
标题: 小白求问,QTP录制登录百度首页
第一次用QTP,想去录制登录百度的脚本,但出问题了。
录制的脚本没有捕获到点击右上角“登录”的操作
[attach]85263[/attach]
自己尝试加上在第一行加上Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("登录").Click
还是不行的,提示如下
[attach]85264[/attach]
作者: whendream    时间: 2013-5-23 16:00
nobody??
作者: anne32184    时间: 2013-5-23 17:09
Link("登录") 没有添加到对象库里去
作者: whendream    时间: 2013-5-24 15:21
回复 3# anne32184
要手动添加么?为什么同一个页面上的link(“注册”)却被添加到对象库呢?
作者: hotren    时间: 2013-5-26 11:54
对象库编程(需要手动添加“登录”连接至测试对象库):
  1. Browser("百度一下,你就知道").Page("百度一下,你就知道").Link("登录").Click
  2. Browser("百度一下,你就知道").Page("百度一下,你就知道").Frame("Frame").WebEdit("username").Set "username"
  3. Browser("百度一下,你就知道").Page("百度一下,你就知道").Frame("Frame").WebEdit("password").SetSecure "password"
  4. Browser("百度一下,你就知道").Page("百度一下,你就知道").Frame("Frame").WebCheckBox("mem_pass").Set "OFF"
  5. Browser("百度一下,你就知道").Page("百度一下,你就知道").Frame("Frame").WebButton("登录").Click
  6. Browser("百度一下,你就知道").Page("百度一下,你就知道").Sync
复制代码

描述性编程(不需要对象库):
  1. Browser("index:=0").Page("index:=0").Link("text:=登录", "html tag:=A").Click
  2. Browser("index:=0").Page("index:=0").Frame("name:=", "html id:=login_iframe").WebEdit("type:=text", "name:=username", "html tag:=INPUT", "html id:=pass_login_username_0").Set "username"
  3. Browser("index:=0").Page("index:=0").Frame("name:=", "html id:=login_iframe").WebEdit("type:=password", "name:=password", "html tag:=INPUT", "html id:=pass_login_password_0").SetSecure "password"
  4. Browser("index:=0").Page("index:=0").Frame("name:=", "html id:=login_iframe").WebCheckBox("type:=checkbox", "name:=mem_pass", "html tag:=INPUT", "html id:=pass_login_rem_0").Set "OFF"
  5. Browser("index:=0").Page("index:=0").Frame("name:=", "html id:=login_iframe").WebButton("type:=button", "name:=登录", "html tag:=INPUT", "html id:=pass_login_input_submit_0").Click
  6. Browser("index:=0").Page("index:=0").Sync
复制代码


题外话:
不要看描述性编程貌似很麻烦,其实这种方式最简单,实际测试时这些代码可以不需要自己敲进去的,而是由自动化测试框架从测试用例中根据对象的名称从XML格式的对象库中取得对象描述性信息再根据这个控件的类型加上控件的方法就能拼出这些代码。框架+XML格式对象库+测试用例(实际往往还会加上一份通用关键字),测试时只需要在测试用例里写用例,然后交给框架动态去解释并执行用例,而不需要另外去写脚本。逻辑、对象和数据都是分离的,没有测试对象(TO)的臃肿和耦合,且复用性和可维护性都比TO好得多
作者: 黑羽祭    时间: 2013-5-27 09:12
回复 5# hotren


    一半一半吧,也没必要全使用描述性编程,又降低了速度又增加了维护的麻烦。
结合使用,各用所长。
作者: 黑羽祭    时间: 2013-5-27 09:13
回复 1# whendream


    手动添加 登录 Link 至对象库,然后拖到 脚本里进行编写。
作者: whendream    时间: 2013-5-28 10:34
回复 7# 黑羽祭


    尴尬,添加到了登录link到了对象库,也拖过去继续录制的,录制完,登录link是被点击了的,但是没办法打开百度登录的窗口,囧,试了LS给的代码也不行的
作者: whendream    时间: 2013-5-28 10:40
回复 7# 黑羽祭


    试了一下把frame添加到对象库就行了的,囧
作者: 黑羽祭    时间: 2013-5-28 11:40
回复 9# whendream


    什么意思?之前你自己改动了对象库的结构吗?




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