首页 > 解决方案 > 当我们尝试执行“JSONObject responseJSON = new AXE.Builder(driver, scriptUrl).analyze();”时抛出脚本超时异常

问题描述

当它尝试执行时,我在 selenium 框架中使用了 Ax 核心:

[JSONObject responseJSON = new AXE.Builder(driver, scriptUrl).analyze();

抛出以下异常:

16:39:26:09-12-2019>>org.openqa.selenium.ScriptTimeoutException:脚本超时(会话信息:chrome = 78.0.3904.108)构建信息:版本:'3.141.59',修订:'e82be7d358',时间:'2018-11-14T08:25:53' 系统信息:主机:'L3DV3N62',ip:'10.93.47.117',os.name:'Windows 10',os.arch:'amd64',os.version : '10.0', java.version: '1.8.0_144' 驱动程序信息: org.openqa.selenium.chrome.ChromeDriver Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 78.0.3904.108, chrome: {chromedriverVersion: 78.0.3904.105 (60e2d8774a81..., userDataDir: C:\Users\SSUPAR~1.TEM\AppDa...}, goog:chromeOptions: {debuggerAddress: localhost:61391}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform :XP,平台名称:XP,代理:Proxy(),setWindowRect:true,strictFileInteractability:false,超时:{implicit:0,pageLoad:300000,脚本:30000},unhandledPromptBehavior:dismiss and notify}会话ID:c3e0abe6c1b2ca3a34b765b70cc594df在sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法)在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) 在 org.openqa.selenium.remote 的 org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)。 http.W3CHttpResponseCodec。在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) 在 org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) 在 org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 解码(W3CHttpResponseCodec.java:49) .openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebDriver.executeAsyncScript(RemoteWebDriver.java:506) at com.deque.axe.AXE$Builder.execute(AXE .java:372) 在 com.deque.axe.AXE$Builder.analyze(AXE.java:335) 在 Driver.Reuse.analyzeViolations(Reuse.java:6146) 在 AppLib.AnalyzeViolation.ExecuteComponent(AnalyzeViolation.java:25)在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect。DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at AppLib.Reflection.execute(Reflection.java:26) at Driver.Demo1.testDemo1(Demo1.java :1130) 在 Driver.Demo1.main(Demo1.java:748)

标签: seleniumaccessibility

解决方案


以下超时设置对我有用:

JSONObject responseJSON = new AXE.Builder(driver, scriptURL)
    .options("{ runOnly: { type: 'tag', values: ['wcag2a','wcag2aa'] } }")
    .setTimeout(60000).analyze();

推荐阅读