testcafe-rpc

TestCafe RPC

RPC library for the TestCafé. It allows you to create a single TestCafé instance and then interact with it programmatically from any machine in your network.

TestCafe RPC

RPC library for the TestCafé. It allows you to create a single TestCafé instance and then 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 (errorstaskUidworkers) {
    //do smthg... 
});
var TestCafeRemote = require('testcafe-rpc');
 
var rpcHostname = 'myhostname',
    rpcPort = 1339;
 
//Connect to the existent TestCafé server (if you running both client and server on the same machine 
//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 (errorstaskUidworkers) {
      //do smthg... 
    });
});

Visit TestCafé Continuous integration guide and Continuous integration API reference. If you have any additional questions or suggestions don't hesitate to ask using DevExpress Support Center.