51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4028|回复: 12
打印 上一主题 下一主题

[原创] qtp 检测javascript错误??

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-2-27 09:43:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问qtp 是否可以检测网页的javascript运行错误呢?
如果可以,怎么检测?如果不行,是为什么?
麻烦大家知道的都来给个解释嘛

谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-2-27 09:49:44 | 只看该作者
你说的javascript运行错误是什么?是指IE右下角的那个错误信息吗?如果是的话,你可以获取IE对象的statueText属性,这个属性存储的是IE运行时的文本信息,就是你双击那个错误图标能看到的信息。然后把这个信息和你设置的预期值进行比较就可以了。不知道这是不是你所说的“检测”的含义
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-2-27 10:02:26 | 只看该作者
我的意思是,哎,翻译不出来。。就是下面这句话。。
See the page loads successfully without any javascript errors.
另外,就算是IE左下角显示了错误,也不知道是不是js错误啊,vbscript也会显示啊
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-2-27 10:15:50 | 只看该作者
不太明白你想干什么,难道你是想检测界面代码中javascript的代码是否存在编码上的错误吗?或者你就举一个典型的应用场景吧
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2009-2-27 10:23:15 | 只看该作者
就是如何检测页面登入的时候,javascript没有运行错误。。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-2-27 10:29:48 | 只看该作者
internet 选项->高级->选择项“显示每个脚本错误通知”打勾
这样有js 错误就会弹出提示框了
然后根据提示框判断
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-2-27 10:31:40 | 只看该作者
原帖由 风雪夜归人 于 2009-2-27 10:23 发表
就是如何检测页面登入的时候,javascript没有运行错误。。

可能是我理解的不到位,楼主你这么描述我还是很糊涂。如果有人问你这样的一个问题:我想知道登录以后,首页的结果展示是否正确,相信你也没法回答,因为“正确”这个词属于一个不明确的定义。除了提问的人,其他人未必能明白什么样的首页才是正确的,对吧。
我现在的问题也是一样的,不知道你想如何去界定运行时错误是javascript的(不知道这么说是否准确)。或者这样问题:假设没有自动化测试,也没有脚本,我们是纯手工测试,那么我们是如何判断javascript是否有运行错误的?换句话说,“javascript没有运行错误“这个测试用例的判断标准是什么?
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2009-2-27 10:44:59 | 只看该作者
是下面图中的样子吗?
如果我不想弹出对话框,想直接通过浏览器的某些属性获得怎么办啊?
statueText 属性并不是我想象的那样。。如图

另外,我知道楼上的意思了,判断脚本运行错误就是看ie左下方有没有运行错误的提示。。
关键现在的问题是不知道ie的哪个属性是关于此的。我研究下,实验下~~
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2009-2-27 10:52:56 | 只看该作者
晕,不能显示图哦?
我已经知道怎么做了,可是,browser的statue text属性为空。。
helius 的方法我试了,可以,但是如果弹出很多提示的话,会非常烦的,我想直接从ie的属性里面找,正在试验

谢谢大家~~~我刚开始学qtp,要向大家多多请教才是王道~~

[ 本帖最后由 风雪夜归人 于 2009-2-27 10:53 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-2-27 13:37:28 | 只看该作者
有什么好办法找到的话 共享一下  
同样困扰
  up
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2009-2-27 15:48:39 | 只看该作者
就是两种方法合一咯。
嘿嘿,先选择6楼你的做法,然后取值,等我录个嘛
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2009-2-27 16:20:16 | 只看该作者
这个是我自己写的,有js错误的html

<html>
<head><title>test's test</title>
<script language="javascript">
function a()
  {
  alert("aa
}
a();
</script>
</head>
<body>
<h1>Just a Test</h1>
</body>
</html>


然后我将其保存为b.html放在桌面,下面是我录制的qtp

Dim myStr
SystemUtil.Run "C:\Program Files\Internet Explorer\IEXPLORE.EXE","","C:\Documents and Settings\server","open"
ConfigMyIE
Browser("Browser").Navigate "C:\Documents and Settings\server\Desktop\b.html"
myStr = Browser("Browser").WinStatusBar("msctls_statusbar32").GetItemProperty(statuebartext,"text") 'print the text
Browser("Browser").Window("Internet Explorer").Page("Internet Explorer").WebButton("OK").Click 'Press button OK
Browser("Browser").Page("Page").Sync 'The page
ConfigMyIE
If  myStr = "Error on page." Then
MsgBox "Script Error"
Reporter.ReportEvent micFail ,"Script " , "error"
Else
MsgBox "All Done"
Reporter.ReportEvent micPass,"Script","No Error"
End If
Browser("Browser").Close 'Close the browser

Sub ConfigMyIE
   'config my IE
Browser("Browser").WinToolbar("ToolbarWindow32").Press "&Tools"
Browser("Browser").WinMenu("ContextMenu").Select "Internet Options..."
Browser("Browser").Dialog("Internet Options").WinTab("SysTabControl32").Select "Advanced"
Browser("Browser").Dialog("Internet Options").WinTreeView("Settings:").Select "Browsing;Display a notification about every script error"
Browser("Browser").Dialog("Internet Options").WinTreeView("Settings:").Activate "Browsing;Disable script debugging"
Browser("Browser").Dialog("Internet Options").WinButton("OK").Click
End Sub
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2009-2-27 17:29:54 | 只看该作者
我是在警告对话框存在的时候取的statuebartext的值,这样做的原因是我经常碰到有错误但是显示为Done的情况,为了判断简单就这样取了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-29 03:37 , Processed in 0.113285 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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