Queen在多个浏览器上运行脚本
Queen 是一台服务器,能够代理与之连接的浏览器与其他应用程序或脚本之间的套接字通信。你可以将Queen Server视为可以执行代码的浏览器池。进一步抽象,你可以将Queen Server视为使用浏览器作为计算节点的分布式执行平台。
特性:
- 客户端脚本和服务器端脚本之间的双向通信(使用socket.io)。
- 通过命令行,配置文件运行脚本,或将Queen作为库导入到您自己的项目中。
- 基于用户代理或Modernizr功能定位已连接的浏览器。
- 使用Selenium,BrowserStack或SauceLabs自动连接浏览器。
- 在使用瘦客户端(queen-remote)远程连接到中央Queen服务器的浏览器上运行脚本。
- 自动检测并恢复无响应的浏览器。
- 可以运行脚本或HTML文件列表。
举例说明
假设你想和朋友们玩这么个游戏:你写下某个数字,然后让朋友们猜你写的是什么数字。你的朋友们将不断的给你一些猜测的数字,直到猜中为止。
现在想象你的朋友都是使用的浏览器,这个游戏就相当于是一个脚本用来告诉浏览器如何玩,并等待猜中正确的数字。而这就是 Queen 服务器要做的事请,可以让你在多个浏览器上执行分布的任务,一个用于在多浏览器运行脚本的平台。
下面是一个简单的示例:
- 安装 Node.js v0.8.18 或者更新版本
- 打开终端窗口,运行:sudo npm install -g queen
- 运行:queen -c localhost:9300 http://queenjs.com/server-example.js
- 用浏览器打开 http://localhost:9300/ 并监控终端窗口的输出
评论