It is not compatible with TestCafe v1.x, and will receive no future updates. We highly recommend all testcafe-rpc
users migrate to a recent version of TestCafe. Visit https://testcafe.io to learn how.
RPC library for TestCafé v2015.1. It allows you to create a single instance of TestCafé v2015.1, and interact with it programmatically from any machine in your network.
$ npm install testcafe-rpc
var TestCafeRemote = require('testcafe-rpc');
//Options for TestCafé instance
var opt = {
controlPanelPort: 1337,
servicePort: 1338,
testsDir: 'YOUR_TESTS_DIR',
browsers: {
'Mozilla Firefox': {
path: "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe",
icon: "ff",
cmd: "-new-window"
}
}
},
rpcPort = 1339;
//Create TestCafé server instance with given options which can be accessed via RPC on port 1339.
var testCafeServer = new TestCafeRemote.Server(opt, rpcPort);
//Returned object exposes standard TestCafé API, so you can use it as a regular TestCafé instance.
testCafeServer.runTests({ browsers: testCafeServer.listAvailableBrowsers() }, function (errors, taskUid, workers) {
//do smthg...
});
var TestCafeRemote = require('testcafe-rpc');
var rpcHostname = 'myhostname',
rpcPort = 1339;
//Connect to the existent TestCafé server (if your client and server are running on the same machine
//the hostname parameter can be ommited).
var testCafeClient = new TestCafeRemote.Client(rpcPort, rpcHostname);
//Client can be used as a regular TestCafé instance with exception that listAvailableBrowsers() and listConnectedWorkers()
//are asynchronous methods.
testCafeClient.listAvailableBrowsers(function(browsers) {
testCafeClient.runTests({ browsers: browsers }, function (errors, taskUid, workers) {
//do smthg...
});
});
Read the Continuous integration guide and the Continuous integration API reference to learn more.