首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在json文件的操作下配置pa11y超时以覆盖默认的30秒超时

如何在json文件的操作下配置pa11y超时以覆盖默认的30秒超时
EN

Stack Overflow用户
提问于 2022-08-29 18:24:42
回答 1查看 58关注 0票数 0

我们有一个jenkins脚本管道,可以使用操作对一组经过身份验证的URL运行pa11y自动测试。我们在linux上运行它,配置文件是一个json格式文件。以下为档案:-

代码语言:javascript
复制
{
    "chromeLaunchConfig": {
        "args": [
            "--no-sandbox",
            "--disable-setuid-sandbox",
            "--disable-dev-shm-usage"
        ]
    },  
"actions":[     
                "set field #loginUserId to ***",
                "set field #loginPassword to ***",
                "click element #loginButton_0 to ***",  
                "wait for url to be https://www.qa.***.com/account/dashboard"  
          ]
}

下面是调用此配置json文件以运行测试的实际命令行脚本:

代码语言:javascript
复制
pa11y --config config.json --threshold 500 -t 120000 --include-notices --include-warnings --reporter cli https://www.qa.***.com/login > results.json

大多数情况下,它的工作正常,但有几次只是由于以下错误而超时:-

“错误: TimeoutError:等待函数失败:超时超过30万毫秒”

我理解默认超时是30秒,因此我在命令行中用120秒重写-t。但是在它的“等待url为*”的操作下,它仍然选择默认的30秒,有时超时时会失败。如何为json文件中的操作配置超时选项以避免此错误?

EN

回答 1

Stack Overflow用户

发布于 2022-08-30 16:50:01

Pa11y有一个timeout标志/config选项,允许您指定pa11y在放弃之前等待测试完成的时间(以毫秒为单位)。

这个超时值用于整个测试运行,因此这将包括通过傀儡库初始化Chrome、加载页面、执行指定的任何操作以及最终运行自动可访问性测试的时间。从pa11y 6.1.0开始,默认超时时间是60秒。

浏览器采取的每一个动作都有一个额外的超时,这是由木偶库设置的,设置为30秒。虽然这个值可以在傀儡中改变,但我不认为这个超时是在pa11y中公开的,所以它不是可以直接配置的。

一些替代办法可以是:

  • 使站点速度更快,因此wait for动作所需时间少于30秒,
  • Pa11y默认情况下将创建一个新的傀儡实例,但您可以通过已经加载的页面传递给它一个现有的木偶实例。您可以使用编写一个简短的节点脚本来启动木偶师,使用木偶师命令执行所需的操作(每个命令的超时时间超过30秒),然后最后调用pa11y: pa11y:
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73533148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档