我们使用jenkins工具进行pa11y提供的自动可访问性测试。因此,我使用以下Jenkinsfile来运行测试。
node('mypod') {
container('centos') {
def NODEJS_HOME
env.NODEJS_HOME = "${tool 'Node-12.0.0'}"
env.PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
sh "'${env.NODEJS_HOME}'/bin/node --version"
sh "npm install -g pa11y --unsafe-perm"
sh "pa11y -V"
sh '''curl -O https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum -y install ./google-chrome-stable_current_*.rpm
yum -y install libXScrnSaver
yum -y install atk java-atk-wrapper at-spi2-atk gtk3 libXt'''
withCredentials([file(credentialsId: '***', variable: 'pa11yconfig')]) {
sh "cat $pa11yconfig > config.json"
sh "pa11y --config config.json --ignore WCAG2AA.Principle3.Guideline3_2.3_2_2.H32.2 --ignore WCAG2AA.Principle1.Guideline1_4.1_4_3.G145.Fail --ignore WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail --threshold 6 --reporter cli https://$URL > results.json"
}
}
}
它安装必要的东西,以便在基于linux的节点上针对指定的URL运行pa11y。Windows太麻烦了,所以我们使用linux来实现这个实现。同时,为了让浏览器启动,我们使用下面的config.json文件让pa11y工作。
{
"chromeLaunchConfig": {
"args": [
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage"
]
}
}
所有这些对于我们提供的任何URl来说都是一种魅力。现在,我们希望有一些高级的配置,例如,测试登录是否有效,或者在站点的网页上填写表单,所以可以使用pa11y提供的操作。我应该如何将操作代码合并到这个json配置文件中以实现这一点。操作记录在:- https://github.com/pa11y/pa11y#actions下面
这里的任何帮助或建议都将不胜感激!
发布于 2022-02-03 14:29:35
就像这样:
"chromeLaunchConfig": {
"args": [
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage"
],
},
"reporter": "cli",
"threshold": 6,
"ignore:" [
'WCAG2AA.Principle3.Guideline3_2.3_2_2.H32.2',
'WCAG2AA.Principle1.Guideline1_4.1_4_3.G145.Fail',
'WCAG2AA.Principle1.Guideline1_4.1_4_3.G18.Fail'
]
"actions": [
"navigate to $URL",
"wait for $ThingToHappen"
]
}(我还包括了您当前直接传递给CLI的选项,以防您感兴趣)
https://stackoverflow.com/questions/70962437
复制相似问题