14

我正在BrowserStackTunnel.jar通过 grunt 插件运行grunt-exec

(一直在使用节点的child_process.exec,但结果相同)

用命令java -jar BrowserStackTunnel.jar -force APIKEY localhost,8000,false

Java 文件实际上所做的是通过 ssh 连接到 Browserstack 的 Amazon 实例并在 45691 上打开一个端口,browserstack 的网站正在轮询 localhost 上的该端口,Java 应用程序提供一个包含传递参数的小片段。

如果我从 CLI 运行命令,它工作正常,我看到 netstat 上的端口正在打开。在 browserstack 网站中,我得到了成功屏幕。

但是,如果我从 grunt-exec 运行命令,它只会显示SYN请求。

命令行的输出是一样的,都显示成功

我不太确定是什么原因造成的。我在 windows7、node v0.10.12、grunt-cli v0.1.9、grunt v0.4.1 和 grunt exec v0.4.2 上运行

知道是什么原因造成的或如何调试它吗?我想过一个权限问题,但我有点无能为力

4

3 回答 3

1

我有同样的问题,我意识到,如果我使用 BrowserStackLocal 二进制文件来创建一个 Tunel 会更好。我在这里解决了一个相当复杂的配置:Ember.js - CircleCI - BrowserStack

BrowserStackLocal 文件在这里:http : //www.browserstack.com/local-testing (Binaries)

于 2014-08-13T03:53:45.720 回答
1

您是否尝试过使用Browserstack Chrome 插件?它于今年 1 月推出,允许您在不运行 cli 隧道的情况下测试本地文件。

于 2014-02-24T12:34:45.950 回答
-2

As soon as the child process is created, grunt moves on to the next command. If there is nothing, the grunt process terminates and takes the child with it.

Try adding a grunt-contrib-watch task after the grunt-exec call. It should keep the grunt process alive, and the child process with it.

于 2013-12-18T23:12:34.537 回答