`

部分解决JsUnit无法在firefox3、safari 测试的问题

阅读更多

上一篇中出现了一个问题,就是用 jsunit2.2alpha11.zip 包进行测试时,在firefox、safari 上不能进行测试,无法访问本地系统文件,经过在网上查找,发现了解决问题的办法,解决的原文如下:

 

 

2009年9月23日
 
Tried having a bash with jsUnit today, and got instantly stuck when trying to run a basic test case.

FireFox simply hung, and I really had no idea why.  For the first time, IE8 worked fine!

Thanks to this post, it was straightforward enough to get working.

First you have to modify the jsUnitTestManager.js file, and replace/insert the following code:

function isFF3() {
return (
    navigator.userAgent.toLowerCase().indexOf("iceweasel/3") != -1 ||
    navigator.userAgent.toLowerCase().indexOf("firefox/3") != -1
        )
}

function browserSupportsReadingFullPathFromFileField() {
    return !isOpera() && !isIE7() && !isFF3();
    //return !isOpera() && !isIE7();
}

Secondly, you'll have to disable the draconian security that new FF introduces.  Type about:config in your address bar and then set security.fileuri.strict_origin_policy to false.  This will allow FireFox to access local resources without a problem.

Now it will have disabled the browse to field, so the only way you can run your tests is directly via the address bar, as so:

<path to testrunner.html>?testpage=<path to mytests.html>

 

 

 

大概意思是:

首先,你必须修改jsUnitTestManager.js文件,并替换/插入下面的代码

function browserSupportsReadingFullPathFromFileField() {
		return !isOpera() && !isIE7() && !isFF3();
    //return !isOpera() && !isIE7();
}
function isFF3() {
return (
    navigator.userAgent.toLowerCase().indexOf("iceweasel/3") != -1 ||
    navigator.userAgent.toLowerCase().indexOf("firefox/3") != -1
        )
}

其次,修改firefox的配置,打开ff3,在地址栏输入about:config,搜索security.fileuri.strict_origin_policy,双击就可修改,如下图:


修改完成后,我们重新来运行的测试

 

注:上面不是用jsunit的插件运行的,如果用插件运行的话,又报以下错误,唉~现还不知道如何解决,忘高手指点。



 

以上这样改后,firefox3可以通过测,但发现 safari 还是通不过,于是干脆把以上脚本作如下修改:

function browserSupportsReadingFullPathFromFileField() {
		return false;
		//return !isOpera() && !isIE7() && !isFF3();
    //return !isOpera() && !isIE7();
}

 

再测试时发现可以了:

 

但还是遗憾的是 jsunit 插件 在ff3 safari 运行不起来。先留在这里以后解决吧~!

 

 

  • 大小: 15.5 KB
  • 大小: 20.9 KB
  • 大小: 24.6 KB
  • 大小: 18.4 KB
分享到:
评论

相关推荐

    javascript单元测试 jsunit2.2

    jsUnit 2.2 支持异步测试,允许开发者在测试用例中使用 `start()` 和 `stop()` 方法来控制测试执行的开始和结束,等待异步操作完成后再进行断言。 5. **测试运行器(Test Runner)**:测试运行器是执行测试套件的...

    JSUnit单元测试

    3. **日志和跟踪**:在测试过程中,记录日志和跟踪错误对于调试非常有帮助。JSUnit提供了多种方式来记录测试过程中的信息,如使用`log()`方法记录日志等。 通过以上介绍,我们可以看到**JSUnit**不仅提供了一个强大...

    JsUnit 开源单元测试框架

    JsUnit是JavaScript的开源单元测试框架。它受到JUnit的启发,并完全用JavaScript编写。作为最流行的 JavaScript单元测试框架,它还提供了一些ant任务,使开发人员在持续集成服务器上构建时很容易运行测试套件。

    JSUnit Javascript单元测试

    JavaScript单元测试是软件开发过程中的一个关键环节,它允许开发者对代码的各个独立部分进行验证,确保它们在预期情况下能够正确工作。JSUnit是专为JavaScript设计的一个单元测试框架,它使得JavaScript应用程序的...

    JsUnit单元测试框架

    5. **模拟对象**:JsUnit支持模拟对象,允许在测试中替换依赖对象,防止外部因素干扰测试结果。 6. **异常处理**:测试中若出现未捕获的错误,JsUnit会将其视为测试失败。 7. **可扩展性**:JsUnit允许用户自定义...

    jsunit2.2 alpha11

    5. 浏览器兼容:JSUnit 可以在多种浏览器环境中运行,包括 Internet Explorer、Firefox、Chrome 等,适应不同的开发环境。 在JSUnit 2.2 alpha 11 版本中,可能包含了一些针对早期JavaScript环境的优化和改进,以及...

    jsunit单元测试技术讲解

    在项目中实施单元测试,可以带来诸多好处,如增强模块的可控制性、早期发现和解决问题、降低系统测试成本、揭示架构问题,并加快开发速度。此外,单元测试应该成为团队的标准实践,而非个别开发者的任务。 jsunit ...

    jsunit.rar

    3. **设置断言**:在测试方法中,使用JSUnit提供的断言函数来检查代码的行为。如果断言失败,测试就会失败,表明可能存在错误。 4. **运行测试**:JSUnit提供了一个HTML环境,可以在浏览器中运行测试。只需包含你的...

    jsunit教程(ppt)

    JavaScript 单元测试框架 JsUnit 是一种用于在浏览器环境中对 JavaScript 代码进行单元测试的工具。这个框架的设计灵感来源于 XUnit 模式,这是一种广泛应用于各种编程语言的标准化单元测试框架概念。XUnit 框架的...

    JSunit入门教程.pdf

    页面会加载所有在测试集中的测试用例,并且在一个用户友好的界面中展示它们的运行结果。 综上所述,JSunit提供了一套完整的工具来帮助JavaScript开发者编写测试用例,并以易于理解的方式运行它们。通过本教程,...

    JsUnit——eclipse插件(四)

    3. **创建测试项目**:在Eclipse中,新建一个JavaScript项目,并在项目中添加一个名为"JsUnitTest"的文件夹,用于存放测试用例。 4. **编写测试用例**:使用JsUnit提供的API,你可以编写测试类和测试方法。每个测试...

    JSunit2.2(上)

    很好的JavaScript测试工具,呵呵,首次发表望多多支持.

    JsUnit && Eclipse plugin

    JavaScript 单元测试框架 JsUnit 和 Eclipse 插件是 Web 应用开发中不可或缺的工具。JsUnit 是一个专门用于 JavaScript 代码单元测试的框架,它借鉴了 JUnit 的概念和设计,使得开发者能够对 JavaScript 代码进行...

    JsUnit详解——Web服务方式(三)

    3. 使用断言:在测试用例中,调用JsUnit提供的断言方法,如assertTrue、assertFalse、assertEqual等,来验证代码的执行结果。 4. 运行测试:通过JsUnit的测试运行器运行测试套件,查看测试结果,包括通过的测试和...

    jsunit_1-2[1]

    3. **独立运行**:JsUnit可以在浏览器环境中运行,也可以在服务器端环境(如Node.js)中运行,这使得它在多种JavaScript应用场景下都能使用。 4. **覆盖率工具**:虽然JsUnit本身并不直接提供代码覆盖率工具,但...

    OpenHarmony自动化测试框架代码部件仓arkXtest,包含单元测试框架(JsUnit)和Ui测试框架(UiTest)

    OpenHarmony自动化测试框架代码部件仓arkXtest,包含单元测试框架(JsUnit)和Ui测试框架(UiTest)。单元测试框架(JsUnit)提供单元测试用例执行能力,提供用例编写基础接口,生成对应报告,用于测试系统或应用接口。Ui...

    6.6单元测试1

    要运行JS测试,只需在支持的浏览器(如Firefox或Safari)中打开`tests/jsunit/index.html`文件。所有测试都应该成功通过,这表明Blockly的核心功能没有问题。 块生成器测试则针对各个编程语言的块生成代码进行验证...

    JsUnit详解——《ajax基础》笔记(二)

    `exposeTest.html`可能涉及到如何在测试中暴露和访问被测试的JavaScript函数和对象,这对于编写测试用例至关重要。 六、测试跟踪 `testTrace.html`文件可能展示了如何开启测试跟踪,帮助开发者了解测试执行的流程...

    拥抱JsUnit

    NULL 博文链接:https://llying.iteye.com/blog/258605

Global site tag (gtag.js) - Google Analytics