The configuration file is a common JS containing all the required parameters to run your test suite and (optional) run hooks which can be used to set up the application backend before/after a single test or all tests.

The configuration file needs to export all properties in a JSON named config.

Here is an example of a configuration file:


exports.config = {

    project: "ProjectName_xxxxxxxxxxxxxxxx-xxxxxx-xxxxx-xxxxxxxxx",
    token: "xxxxxxxxxxxxxxxx-xxxxxx-xxxxx-xxxxxxxxx",
    // Specify which label you would like to run. All tests with the
    // specified label will be executed
    label: "sanity",
    // Your Selenium server host and port
    host: "",
    port: 4444,
    // Override the base URL defined in the test in order to run it again a     // different envinronment
    baseUrl: '',

    // =====
    // Hooks
    // =====
    // Testim provides several hooks you can use to interfere the test
    // process in order to enhance it and build services around it.
    // Hook that gets executed before the suite starts
    beforeSuite: function (suite) {
        console.log("beforeSuite", suite);
    // Function to be executed before a test starts.
    beforeTest: function (test) {
        console.log("beforeTest", test);
    // Function to be executed after a test starts.
    afterTest: function (test) {
        console.log("afterTest", test);
    // Hook that gets executed after the suite has ended
    afterSuite: function (suite) {
        console.log("afterSuite", suite);

The configuration file supports all the properties described in the CLI document.
The name structure of the property is slightly different, replace the hyphen(-) with a capital letter. For example: base-url => baseUrl.

When you need to send more than one value to a parameter, use an array.
For example: label: ["a" , "b"]

How to use it

  1. Create your configuration file (e.g. testimConfig.js)
  2. Pass it to the Command Line (CLI) runner as a parameter:
  3. Make sure to indicate the path to the file if needed.


testim -c "testimConfig.js"
  1. If you want to override one of the values in the configuration file, simply pass it explicitly to the CLI, like this:


testim -c "testimConfig.js" --label "nightly"
Did this answer your question?