debian-mirror-gitlab/qa/STYLE_GUIDE.md
2019-05-18 00:54:41 +05:30

1.2 KiB

Style guide for writing GUI tests

This document describes the conventions used at GitLab for writing GUI tests using the GitLab QA project.

click_ versus go_to_

When to use click_?

When clicking in a single link to navigate, use click_.

E.g.:

def click_ci_cd_pipelines
  within_sidebar do
    click_element :link_pipelines
  end
end

From a testing perspective, if we want to check that clicking a link, or a button (a single interaction) is working as intended, we would want the test to read as:

  • Click a certain element
  • Verify the action took place

When to use go_to_?

When interacting with multiple elements to go to a page, use go_to_.

E.g.:

def go_to_operations_environments
  hover_operations do
    within_submenu do
      click_element(:operations_environments_link)
    end
  end
end

go_to_ fits the definition of interacting with multiple elements very well given it's more of a meta-navigation action that includes multiple interactions.

Notice that in the above example, before clicking the :operations_environments_link, another element is hovered over.

We can create these methods as helpers to abstract multi-step navigation.