版本
- 开放测试——版本 1.2.2
- ChromeDriver 85.0.4183.87
包括我需要的外部javascript文件总是会抛出类似的东西:
Caused by: java.lang.RuntimeException: Failed to evaluate JavaScript code at line number 1. The script content was:
$include(["signalr.min.js", "signalr.tests.js"]);
...
Caused by: java.lang.RuntimeException: Failed to run script file signalr.min.js
...
Caused by: javax.script.ScriptException: ReferenceError: "window" is not defined in <eval> at line number 1
我遵循了以下文档:
- https://getopentest.org/reference/javascript-api.html#includeincludesource
- https://getopentest.org/docs/scripting-support.html#external-script-files
但是我尝试过的任何组合似乎都不起作用,我想我错过了一些东西:(
我用 chrome web-driver 配置了 actor.yml,如下所示:
# Selenium options
selenium:
# seleniumServerUrl: http://127.0.0.1:9515
desiredCapabilities:
browserName: chrome
chromeOptions:
args: [ --start-maximized ]
chromeDriverExePath: C:/Webdrivers/chromedriver.exe
chromeDriverExeArgs: [--start-maximized, --ignore-certificate-errors, --disable-popup-blocking, --disable-extensions-file-access-check, "--test-name", "--disable-extensions", "--disable-notifications", "--disable-web-security", "--disable-prompt-on-repost", "--browser-test", "--dom-automation", "--enable-caret-browsing", "--expose-internals-for-testing", "--force-login-manager-in-tests" ]
有问题的测试示例:
description: My Test
actors:
- actor: ACTOR1
segments:
- segment: 1
actions:
- description: include external SignalR script files
script: |
$include(["signalr.min.js", "signalr.tests.js"]);
- description: Initialize SignalR Connection
action: org.getopentest.selenium.ExecuteScript
args:
scriptArgs: $data("config").webChatUrl + $data("config").apiV1SignalRChathub
script: |
var hubUrl = arguments[0];
SignalRConnectionTest(hubUrl);
signalr.min.js 可以在以下位置找到:https ://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/3.1.7/signalr.min.js