The naming convention used is the following:

(ATK-CY/PW-xxxx) Title @tag1 @tag2 ...
ATK-CY/PW-xxxx = use this to specify an exact test
ATK = Automated Testing Kit
CY/PW = Use one or the other depending on which testing framework you are using.
xxxx = Test number, grouped by category
Title = Title of the test, can also find with --grep on the command line
@tag1 @tag2 = tags for labeling and categorizing tests, such as "@ATK-CY-1000 @register-login @smoke @alters-db"

By convention:

  • the first tag is the code for the test; having a code makes it possible to execute specific tests in the pipeline and cross-reference tests from reports
  • the second tag is the web site component; create component tags according to your website.
  • the subsequent tags indicate important properties of tests allowing you to select tags with logic like "run all smoke tests that don't alter the database and are active (i.e. don't have the @skip tag). Each framework has a different way of filtering by tag. Refer to their documentation.

Some tags ATK uses are below; you can add as many tags as you want to your tests.

@smoke
@alters-db
@skip

Automated Testing Kit Component List

Tests in the Kit have the following categories:

@contact-us
@media
@node
@register-login
@page-error
@taxonomy
@user
@xml-sitemap

Cypress/Playwright (CY/PW)

Cypress files end with .cy.js, Playwright files end with .spec.js.

File Name
Category
Tags
Test
atk_register_login
@register-login
@smoke       
@alters-db
(ATK-XX-1000) Register with form and confirm email with Ethereal.email. Requires Symfony Mailer or equivalent mail transfer module.
atk_register_login
@register-login
@smoke
(ATK-XX-1010) Log in with form. Requires QA Accounts (but you can change qaUsers.json).
atk_register_login
@register-login
@smoke
(ATK-XX-1011) Log in with POST. Requires QA Accounts (but you can change qaUsers.json).
atk_register_login
@register-login
@smoke
(ATK-XX-1012) Log in via ULI. Requires QA Accounts (but you can change qaUsers.json).
atk_register_login
@register-login
@smoke
(ATK-XX-1020) Create user with Drush, delete by email. Requires QA Accounts (but you can change qaUsers.json).
atk_register_login
@register-login
@smoke
(ATK-XX-1021) Create user with Drush, delete by UID. Requires QA Accounts (but you can change qaUsers.json).
atk_register_login
@register-login
@smoke
(ATK-XX-1030) Reset password. Requires QA Accounts (but you can change qaUsers.json).
atk_contact_us
@contact-us
@smoke    
@alters-db
(ATK-XX-1050) Contact Us form accepts input, sends email. Requires Webform module.
atk_page_error
@page-error
@smoke
(ATK-XX-1060) Validate that 403 page appears.
atk_page_error
@page-error
@smoke
(ATK-XX-1061) Validate that 404 page appears.
atk_sitemap
@xml-sitemap
@smoke
@drush
(ATK-XX-1071) Return # of sitemap files; fail if zero.
atk_sitemap
@xml-sitemap 
@smoke
@drush
(ATK-XX-1071) Regenerate sitemap files. Uses drush fprop (custom drush command).
atk_sitemap
@simple-xml-sitemap
@smoke
(ATK-XX-1080) Reserved for Simple XML Sitemap
atk_user
@user
@smoke   
@drush   
@alters-db
(ATK-XX-1100) Create and delete user with Drush.
atk_user
@user
@smoke   
@drush   
@alters-db
(ATK-XX-1101) Create user with Drush, delete by UID.
atk_node
@node
@smoke   
@alters-db
(ATK-XX-1110) Create, update, delete a node via the UI.
atk_taxonomy
@taxonomy
@smoke   
@alters-db
(ATK-XX-1120) Create, update, delete a taxonomy term via the UI.
atk_media
@media
@smoke   
@alters-db
(ATK-XX-1130) Create, update, delete an image via the UI.