Skip to content

Run Tests

Jacky Sun edited this page May 30, 2024 · 29 revisions

We introduce a new way to run nala tests

Usage: node run.js [options]

Options:
  -p, --project Specify the project to run tests on, e.g., milo-live-chrome. use 'all' for all or comma-separated list of projects
  -c, --config Specify name of configuration file, e.g., milo.
  -g, --grep Filter tests by grep pattern, e.g., '@milo'.
  -r, --reporter Specify the reporter to use, e.g., 'html'.
  -h, --help Display this help message and exit.\

  --headed Run tests in headed mode.
  --headless Run tests in headless mode (default).

Examples:

  • run uar test on uar-live: node run.js -c uar -g "@uar-quiz-basic-milo" -p uar-live-chrome

  • run uar test on milo-live: node run.js -c uar -g "@uar-quiz-basic-milo" -p milo-live-chrome

  • run milo test on milo-live: node run.js -c milo -g "@milo" -p milo-live-chrome

  • you can also use '=': node run.js -c=milo -g="@milo" -p=milo-live-chrome

  • or long options: node run.js --config=milo --grep="@milo" --project=milo-live-chrome

  • support run on all projects with -p 'all': node run.js -c milo -p all -g "@milo"

  • support run some projects with comma-separated list of projects: node run.js -c milo -p milo-live-chrome,milo-live-firefox -g "@milo"

Some rules:

We set "testDir: '../tests/xxx'" in xxx.config.js to control test scopes, in another words, you can't run others' tests, but you can run your tests in different websites.

For example: if you want to run milo tests all bacom, you need to add this into milo.config.js\

    {
      name: 'bacom-live-chrome',
      use: {
        ...devices['Desktop Chrome'],
        baseURL: envs['@bacom_live'],
      },
    },
    {
      name: 'bacom-live-firefox',
      use: {
        ...devices['Desktop Firefox'],
        baseURL: envs['@bacom_live'],
      },
    },
    {
      name: 'bacom-live-webkit',
      use: {
        ...devices['Desktop Safari'],
        baseURL: envs['@bacom_live'],
      },
    },
Clone this wiki locally