pa11y json 动作配置文件:https://github.com/pa11y/pa11y#actions
pa11y json configuration file for actions : https://github.com/pa11y/pa11y#actions
我们使用 jenkins CI 工具进行由 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 提供的操作。
我应该如何将 Actions 代码合并到这个 json 配置文件中才能实现。
操作记录在:-
https://github.com/pa11y/pa11y#actions
如有任何帮助或建议,我们将不胜感激!
像这样:
"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 的选项,以防您感兴趣)
我们使用 jenkins CI 工具进行由 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 提供的操作。 我应该如何将 Actions 代码合并到这个 json 配置文件中才能实现。 操作记录在:- https://github.com/pa11y/pa11y#actions
如有任何帮助或建议,我们将不胜感激!
像这样:
"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 的选项,以防您感兴趣)