Как мне выполнить вход / аутентификацию перед тестированием в pa11y-ci?

#javascript #testing #accessibility #pa11y

#javascript #тестирование #Специальные возможности #pa11y

Вопрос:

Я хочу тестировать страницы как аутентифицированный пользователь с помощью pa11y-ci.

Я запускаю pa11y-ci следующим образом:

pa11y-ci --sitemap http://www.example.com/sitemap.xml --sitemap-find https --sitemap-replace http

Я нашел некоторую документацию по входу в систему с помощью pa11y перед запуском теста.

В моем случае я использую Drupal, поэтому шаг входа в систему выглядит следующим образом:

     "actions": [
      'navigate to http://example.lndo.site/user/login'
        'set field #edit-name to pa11y',
        'set field #password to password',
        'click element #edit-submit',
        'wait for path to be /user'
    ]
 

Однако я не знаю, как добавить это "actions" в мой .pa11yci файл конфигурации или как вызвать pa11y-ci и использовать этот шаг входа в систему.

Как я могу войти в систему перед запуском pa11y-ci теста?

Ответ №1:

Я смог войти в систему таким образом в моем .pa11yci :

Сначала я делаю анонимные страницы (сначала обязательно выхожу из системы), затем я вхожу в систему, а затем я делаю свои аутентифицированные страницы.

 "urls": [
    {
      "url": "http://example.com/first-page",
        "actions": [
          "navigate to http://example.com/user/logout"
        ]
    },
    "REPLACE_BASE_URL/user/login",
    "REPLACE_BASE_URL/user/register",
    "REPLACE_BASE_URL/user/password",
    {
      "url": "http://example.lndo.site/auth-page-0",
        "actions": [
          "navigate to http://example.lndo.site/user/login",
          "set field #edit-name to pa11y@example.com",
          "set field #edit-pass to password",
          "click element #edit-submit",
          "wait for element #user-page-unique-element to be visible"
       ]
     },
     "http://example.com/auth-page-1",
     "http://example.com/auth-page-2",
    ]
  }
 

Единственная проблема с этим подходом заключается в том, что я не могу использовать --sitemap команду для тестирования страниц во время аутентификации.