Sequential Test Execution

Run tests sequentially on the BuildWise server machine.

Sequential build in progress

BuildWise executes test sequentially. After execution of one test script file (not test case) is complete, its results will be shown on the build page.

If there are test failures, the count will be shown on the top right corner.

To view detail of an failure, click ‘Failure’ link.

Build Steps

A CI/CT process consists many build steps.

In BuildWise, the build steps can be configured on the project settings.

Every step can be a command or Rake target.

You can change the order of build steps by simply dragging to order.

Customize execution with Environment Variables

Test execution can be customized via setting environment variables, obviously, the precondition is that these environment variables are used in test scripts.

You can edit or add new environment variables

Two common environment variables:

  1. BROWSER - browser type

  2. BASE_URL - target server URL

Here is how these two are used in the sample project. In (every) test script,

    @driver = Selenium::WebDriver.for(browser_type)
    driver.navigate.to(site_url)

where, browser_type and site_url are defined in test_helper.rb, which looks up environment variables.

 def browser_type
    if ENV["BROWSER"]
      ENV["BROWSER"].downcase.to_sym      
    else
      :chrome
    end
  end
  
  def site_url(default = $BASE_URL)
    ENV["BASE_URL"] || default
  end

Select specific tests for execution

What tests to be included or excluded for test execution of a build project is set in Rakefile, the basic usage (from Demo project) is already coved here. Rakefile is in pure Ruby language, with basic Ruby knowledge, you have total control the selection of tests, such as:

  • all test script files in a folder
  • test files matching a certain pattern
  • all but a few specfic test scripts in a folder

We recommend only a small selection of key tests for seqentital test build and all tests for paralleltest build.

Display output from tests

The output of test execution can be quite useful for debugging test failures. If there are outputs (from print commands to System.out like below), BuildWise will include them on the build pages.

app_no = driver.find_element(:id, "app_no").text
puts "the application number is " + app_no

Just click Output link next to the test case name.