Web 套接字服务器的单元测试需要在浏览器中打开网页



我有一个用摩卡为节点编写的单元测试.js它测试在客户端上完成的 Web 套接字连接和解析。 我的问题是我需要打开客户端网页才能与 Web 套接字服务器通信。 有没有办法在节点.js中模拟它?

我的单元测试操作如下:

1) Web 套接字启动并等待客户端连接。

2) 在特定 URL 处打开客户端(当前缺少,使用设置为我正在测试的 URL 的 Web 浏览器)。客户端连接到 Web 套接字,如果不可用,则一遍又一遍地尝试。

3)一旦客户端连接到Web套接字,它就会发送json来测试客户端中的逻辑。

4) 客户端发回在 Web 套接字上验证的 json,如果 Web 套接字收到适当的响应,则测试通过。

现在一切正常,除了我必须打开浏览器以访问测试 URL。我希望能够在不打开浏览器的情况下运行测试。

我找到了解决方案Selenium-webdriver。当您需要打开 chrome 实例时,它可以完美运行。 它还允许您设置文本字段并在需要登录表单或类似内容时发送按键。

var webdriver = require('selenium-webdriver');
var monitor = {width: 1920, height : 1200};
var host = "http://localhost:8000/";
var _webBrowser = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build();
_webBrowser.manage().window().setPosition(0, 0);
_webBrowser.manage().window().setSize(monitor.width / 2, monitor.height);
_webBrowser.get(host);

最新更新