我想以经过身份验证的用户身份使用 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
测试之前如何登录?
我能够像这样登录我的
.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
命令在经过身份验证时测试页面。
帕特里克的答案是正确的,但我还需要将隐身模式设置为 false 才能使其正常工作。我在同一个 .pa11yci 配置文件中做到了这一点。下面是我放在 url 节点上方的条目:
"defaults" : {
"useIncognitoBrowserContext": false
},
"urls": [
...
]