前段时间做一个项目时用HttpUnit提交数据信息,发现HttpUnit对JS的支持不够强大,或者说对JS太过严格。只要其中有点不对就会报错,而且如果有JS动态操作HTML内容那么肯定会有或多或少的问题出现,甚至会有异常。这样就进不了网站。
产生的错误原因可能是:一、JS文件编码格式的原因,很多JS文件并不是写在网页内而是引入,如果JS文件格式不是以UTF-8编码格式编写,HttpUnit解释时肯定会报错,可能是因为HttpUnit解释时是按照UTF-8格式解释的吧。如果就写在网页内可能网页编码格式也不是UTF-8。二、众所周知,很多时候我们写出来的JS,在IE下可能正常而在FF下可能就不正常了,这也可能引起HttpUnit解释时出现异常。
如果你去测试获取很多网页会发现,国内的网站获取时更多可能会报错,像CSDN,新浪等,而国外的网站报错的机率少一些。
解决的办法就是去掉HttpUnit对JS正确性的检测,写上如下语句:
HttpUnitOptions.setExceptionsThrownOnScriptError(false);
我英文不好文档也看不懂,我所理解的是:设置成FALSE时即不检测JS的正常性,TRUE时按照HttpUnit的严格准备来检测JS,如果JS不正确则报错。千万不要认为设置成false时就不能使用JS了,其实是可以使用的,这个我已经测试过了。
以上愚见,错误之处望高手多多指点~-_-
分享到:
相关推荐
在Java开发过程中,有时我们需要对Web应用程序进行自动化测试或者模拟用户行为,比如点击网页上的JavaScript按钮。`HttpUnit`是一个强大的工具,它允许开发者在Java环境中模拟浏览器的行为,包括处理表单、执行...
2. **js-14.jar, js.jar**: 这两个文件可能都是JavaScript引擎的实现,例如Rhino,这是一个开源的JavaScript引擎,允许在Java环境中执行JavaScript代码。Rhino广泛应用于服务器端脚本、网页应用、数据处理等方面,...
在Java中,HttpUnit是一个强大的工具,专门设计用于模拟浏览器行为,进行无头(headless)测试和网页抓取。这个压缩包包含了使用HttpUnit进行网页爬取所需的所有jar包,确保了在你的开发环境中可以直接运行而无需...
2. **js.jar**:这是Rhino JavaScript引擎的实现,它允许HttpUnit执行JavaScript代码,这对于测试网页中涉及JavaScript交互的部分非常重要,因为很多现代网页功能都依赖于JavaScript。 3. **httpunit.jar**:这是...
- 考虑到网站可能使用了JavaScript进行身份验证或重定向,HttpUnit需要配置支持JavaScript处理。如果网站依赖于cookies来保持会话,确保`WebClient`启用了cookies处理。 - 对于HTTPS站点,需要配置`WebClient`信任...
请注意,虽然HTTPUnit在很多情况下非常有用,但它可能不支持现代Web应用程序中的复杂特性,如WebSockets或某些现代JavaScript框架。对于更复杂的测试需求,可能需要考虑使用Selenium等更强大的Web测试工具。 总之,...
3. **JavaScript支持**:虽然HTTPUnit 的JavaScript支持相对有限,但可以在一定程度上执行简单的JavaScript代码,这对于某些不需要复杂交互的测试场景已经足够。 4. **异常处理**:在测试过程中遇到的任何错误或...
### 使用HttpUnit进行集成测试 ...通过以上介绍可以看出,HttpUnit提供了一套完整且灵活的API,使得测试人员能够在开发过程中快速实现对Web应用的各种功能性的测试,极大地提高了测试效率和质量。
2. **支持JavaScript**:尽管不是所有浏览器的行为都能完全模拟,但HttpUnit对JavaScript有一定的支持,能执行简单的脚本,这对于那些依赖JavaScript的动态网页来说尤其重要。 3. **HTML解析**:HttpUnit能解析HTML...
3. **JavaScript支持**:尽管HTTPUnit最初不支持JavaScript,但通过配合Rhino JavaScript引擎,它可以处理简单的JavaScript交互。 4. **表单处理**:可以方便地填写和提交HTML表单,测试表单提交逻辑。 5. **Cookie...
在`HttpUtilTest`类中,我们可以找到对HTTPUnit的调用,以及对异步数据处理的测试逻辑。开发者可以通过阅读和调试这个类来理解异步请求的处理过程。 - `WebRoot`目录:这是典型的Web应用的根目录,包含了HTML、CSS...
7. **兼容性**:HttpUnit与Servlet和JSP标准兼容,因此对基于这些技术构建的Web应用特别有用。 8. **易于集成**:它能很好地与JUnit或其他测试框架结合,方便构建自动化测试套件。 通过"www.pudn.com.txt"文件,...
3. JavaScript支持:虽然HTTPUnit最初设计时并不支持JavaScript,但后来的版本增加了一定程度的JavaScript执行能力,允许测试某些基于JavaScript的页面功能。这部分源代码可能涉及到JavaScript引擎的集成和调用。 4...
然而,对于那些高度依赖于浏览器特定行为或复杂JavaScript的应用,HTTPUnit可能不如Selenium等工具强大。 总之,HTTPUnit2.21和其关联的HTMLUnit2.21是Java Web测试的重要工具,它们提供了一种简洁的方式来模拟HTTP...
HttpUnit 是一个Java库,它允许开发者在没有实际浏览器参与的情况下对Web应用程序进行自动化测试。这个工具主要用于单元测试,它模拟浏览器行为,可以执行HTTP请求,解析HTML响应,并检查返回的内容、链接、表单和...
HttpUnit所有依赖打包下载,HttpUnit是一个集成测试工具,主要关注Web应用的测试,提供的帮助类让测试者可以...HttpUnit还提供了一个模拟Servlet容器,让你可以不需要发布Servlet,就可以对Servlet的内部代码进行测试。
httpunit-1.7.jar下载
httpunit.jar
httpunit-1.7.rar 包含所需的jar包