2

我使用 simpletest 作为我的 php 单元测试框架。

我将所有测试用例放入一个 all_tests.php 文件中

然而,由于我们的开发人员倾向于使用 firefox 来运行 all_tests.php,我们往往会错过特定于浏览器的失败案例,尤其是 ie7。

有没有一种方法,当有人在 Firefox 中浏览我们的 all_tests.php 时,它会自动触发一个 ie 窗口为同一页面打开?

4

4 回答 4

4

有一种方法,但浏览器会在执行此操作之前请求许可。

您可以使用此脚本打开 Internet Explorer(但不要忘记它只有在用户接受安全警告时才有效)

function runExeOnMozilla(path/*as string*/,args/*as array*/) {
    try{
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
        var file = Components.classes["@mozilla.org/file/local;1"]
                    .createInstance(Components.interfaces.nsILocalFile);
            file.initWithPath(path);
        var process = Components.classes["@mozilla.org/process/util;1"]
                    .createInstance(Components.interfaces.nsIProcess);
            process.init(file);
            process.run(false, args, args.length);
    } catch(err){
        alert('access denied');
    }
}
于 2009-09-05T16:03:53.920 回答
1

编写打开所有窗口的命令批处理文件。

@echo off
set URL="http://example.com/"
cd "C:\Program Files\Internet Explorer"
iexplore %URL%
cd "C:\Program Files\Mozilla Firefox"
firefox %URL%
于 2009-09-05T15:40:51.330 回答
0

不是我知道的——如果一个网页可以从你的硬盘上运行任意程序,那将是一个安全漏洞。

您可以编写一个简单的 Firefox 扩展来执行此操作,或者,如果您在 Windows 上,则以某种方式使用(或修改)IETab

于 2009-09-05T15:40:32.220 回答
0

除了可能制作(或使用现有的)插件之外,我会说不。这将构成严重的安全威胁。

于 2009-09-05T15:41:01.707 回答