在 pa11y-ci 中测试之前如何登录/验证?

问题描述 投票:0回答:2

我想以经过身份验证的用户身份使用 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
测试之前如何登录?

javascript testing accessibility pa11y
2个回答
3
投票

我能够像这样登录我的

.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 [email protected]",
          "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
命令在经过身份验证时测试页面。


0
投票

帕特里克的答案是正确的,但我还需要将隐身模式设置为 false 才能使其正常工作。我在同一个 .pa11yci 配置文件中做到了这一点。下面是我放在 url 节点上方的条目:

"defaults" : {
    "useIncognitoBrowserContext": false
},
"urls": [
  ...
]
© www.soinside.com 2019 - 2024. All rights reserved.