站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题(200分:高手专区)求解HttpUnit中JavaScript的解决方案

(200分:高手专区)求解HttpUnit中JavaScript的解决方案

摘要: (200分:高手专区)求解HttpUnit中JavaScript的解决方案


最近在用HttpUnit做网站测试时发现一极度郁闷问题,只要页面用了包含JS文件的语句,就取不到页面内容。也就是页面中运行了<script src=javascript.js></script> 或者<script language="javascript" src=javascript.js></script>,否则就正常!具体的关键错误信息摘录如下:
ReferenceError: "adx" is not defined. (httpunit; line 38)
com.meterware.httpunit.ScriptException: Script 'var is_show=0;

而实际应用中,被测试的网站页面运用了大量包含的JS代码,特别是Ajax更是如此,所以不能为了测试而放弃使用JS代码,请用过HttpUnit做网站测试的高手们能略显身手。

致谢!

我棘手几天的问题可能只是花费你们的几十秒钟,希望能描述得详细一些,解决问题立即结贴!


MARK ,学习。 我也遇到过某些JAVASCRIPT 不能通过解析。


路过,友情up...


没用过
帮忙顶
感觉jsp已经是所见即所得了
再用HttpUnit测试,意义不大


HttpUnit是一个比较好的测试工具来的,而且它可以针对单个Servlet测试,也可以通过XML文件测试所有Servlet测试,特别对于程序员,在美工页面未设计出来以前,或者程序未过完成之前,用HttpUnit更容易检测出程序Bug,可以不依赖美工进行,它有一定的优越性,讨论继续!


我一直想研究HttpUnit,收藏!!!!



顶一下吧


有谁会讲讲吧,大家一起学习! 最好有点文档什么的


俺是楼主,找出目前的问题根源是编码错误!具体解释如下:

我在项目中应用的是GBK编码,而JS文本是导入进来的,当然,如果是直接写在页面中的JS,它的编码就会自动与页面编码一致。而HttpUnit在调用Servlet时,所有导入的JS都是以UTf-8编码的方式加载的,如果JS没有进行UTF-8编码就会报错,这就出现了只要一有导入的JS文件,就会报错的情况。

你们可以进行如下测试:
将JSP页面的编码设为UTF-8,然后在页面中导入一个JS文件,该JS文件中包含非英文的其它字符,并且该JS文件没有进行UTF-8编码,然后你想调用该JS文件中写的函数的时候,肯定会报错。

错误找出来了,希望前辈们能够给出问题的具体解决办法!

致谢!


昨天仔细看了一下,也有可能不是这个问题,在包含JS脚本中定义的变量好像不能被页面引用,不知是不是JS相对路径和绝对路径的问题!

大家怎么都沉默了?


楼主可以尝试着把包进来的js文件中的所有内容拷到页面里来,
不要引入,看是不是还报错?


不会是js文件相对路径的问题,js我做过很多了,关于jsp页面的存储格式的编码问题,我在项目中也是这样的,JSP是UTF-8,但JS我是按默认的格式来存的,就是GBK。

你的项目,有用多个浏览器来测试过吗?我在项目中也用了ajax,dwr,我也自己也了几个通用的ajax函数库出来,但是我写出来后,在IE, FireFox, Opera中都测试过的。

httpUnit我不知它的查错机制是怎么样的,不同的浏览器对JS的支持都不一样,或许他是用FireFox支持的函数库的,那么就出错了,楼主往这个方向看一下吧。

BTW,我是广州人,也是用J2EE开发的。




可以进http://www.9i5e.com/Company.aspx 看看,个人觉的不错的例子


To terry_yip
我一般用火孤和IE,网站的JS在这两种浏览器中均能正常运行,现在还不晓得问题根源。

To kmh605(三步倒)
如果你不想贴上的网址被K掉的话,最好少在我贴子上搞这种垃圾东西


这么好的贴子没人顶起来,真是浪费!


我也想知道
关注...................


hehe


emin_lee() ( ) 信誉:100 Blog 2006-08-25 15:04:00 得分: 0
楼主可以尝试着把包进来的js文件中的所有内容拷到页面里来,
不要引入,看是不是还报错?
---------
我的想法也是这样,楼主先试试这样做怎么样。
可能HttpUnit能力还弱。


没有JS包,应该不能运行的,因为它要解释客户端的JS脚本,但是又没有通过浏览器


他们的意思是把JS代码直接放到JSP页面中去,看看还会不会报错!


建议使用微软的 脚本编辑器 进行运形态的调试,包括脚本加载,

字符问题都在脚本编辑器中看出来。

个人认为:编码不配可能性比较大。


帮顶了


我是楼主,非常感谢各位对此问题的关注,先说明一下:

本题的JS代码本身是没有问题的,因为它是经过全面的兼容性测试,适合IE、Firefox、MyIE等浏览器现行版本及较低版本(如IE5),所以此问题的根源是HttpUnit本身。

我在用HttpUnit加载有包含JS的页面时,只是少数页面没有报错,当然,如果JS文件进行过UTF-8编码处理,加载时不会报错,而且我用来加载国外网站,基本上就没有报错,而国内网站(如:搜狐、前程无忧、中华英才、网易)都会报JS问题


我的贴子也沉得太快了吧…… 如果经典的贴不顶起来,亏了呵!


顶~ 继续关注.....


顶~继续关注……


很久没人关注了,顶一把!


楼主可以尝试着把包进来的js文件中的所有内容拷到页面里来,
不要引入,看是不是还报错?


那么,除了HttpUnit,还有哪些比较好的Web测试工具,要求对JS支持较好的!

最近我查了很多国外的资料,都说HttpUnit的JS功能较弱,我的问题不会是这个原因吧,不知道JWebUnit和HtmlUnit这两个东东怎么样?


这么好的贴子,怎么能在CSDN沉下去呢……


顶起来~关注中...



学习


关注,学习


顶,没学过这个


顶起来,已经沉了很多天了,希望大家一起交流!


这么好的帖子,总是垫底,而且一个星星都不来关注,这证明了什么问题?

CSDN的Java编程人员太虚浮,不去钻研,实际解决问题能力欠缺,唉……





以后我要注意


可以这么写。
<script language="javascript" src="js/temp.js" charse="UTF-8"/>


顶,非常希望斑竹能够置顶!!


顶……


JS调试可以使用微软带的scriptdebuger来调试, 基本能找到script的问题. 还有不要用带有过滤功能的浏览器, 会认为你带有某些关键字的网页脚本当作广告给过滤调了


To TinyJimmy(Jimmy),非常感谢您的回复

本程序的浏览器是用HttpUnit模拟的,程序本身的JS代码在各种版本的浏览器里都通过了测试,就是不知道HttpUnit的模拟机制是怎样的,导致了在各种浏览器里能通过测试的JS在HttpUnit中通不过。


up


UP..........


UP ....... 唉还没解决 。


顶起来





关注的人不多,Java版块的高人们呢……


up


最近很忙,所以没来CSDN,问题已被自己解决,谢谢大家的参与!


LZ怎么解决的,跟大家说一下,以后大家遇到这种问题就知道怎么解决了。


↑返回目录
前一篇: 请教:Struts里面的这句话是什么意思,-lt
后一篇: Session的超时设定为什么不准,急~~~~!