webdriverio browser.executeAsync выдает ошибку установки аргументов в IE11 - PullRequest
0 голосов
/ 04 января 2019

Я получаю сообщение об ошибке установки аргументов для ошибки скрипта при попытке запустить browser.exectueAsync в IE 11.

код, который я выполняю, это

const result = browser.executeAsync(
   (url, body, done) => {
     fetch(url, {
       method: 'POST',
       credentials: 'same-origin',
       headers: {
         'Content-Type': 'application/json',
       },
       body: JSON.stringify(body),
     })
    .then(resp => resp.json())
    .then(data => done(data));
   },consentsUrl,consentRequestBody);
browser.waitUntil(() => result.value.updated === true);

Это прекрасно работает на Chrome. поэтому не уверен, почему он не работает на IE11, какие-либо идеи.

Это полная ошибка, которую я получаю

Failed: Error setting arguments for script (WARNING: The server did 
not provide any stacktrace information)
Command duration or timeout: 66 milliseconds
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 
17:00:58'
System info: host: '***-***-**-***', ip: '***.***.**.***', os.name: 
'windows', os.arch: 'x86', os.version: '10.0', java.version: 
'1.8.0_181'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{browserAttachTimeout=0, enablePersistentHover=true, 
ie.forceCreateProcessApi=false, ie.usePerProcessProxy=false, 
ignoreZoomSetting=false, handlesAlerts=true, version=11, 
platform=WINDOWS, nativeEvents=true,ie.ensureCleanSession=false, 
elementScrollBehavior=0, ie.browserCommandLineSwitches=, 
requireWindowFocus=false, browserName=internet explorer, 
initialBrowserUrl=about:blank, takesScreenshot=true, 
javascriptEnabled=true, ignoreProtectedModeSettings=false, 
enableElementCacheCleanup=true, cssSelectorsEnabled=true, 
unexpectedAlertBehaviour=dismiss}]
Session ID: 0358936f-7358-4899-84dc-57b92133f3c2

1 Ответ

0 голосов
/ 22 мая 2019

Я видел такое же поведение при использовании browser.execute. В моем случае это происходит, когда аргументом моей функции является объект, содержащий ключи с дефисами.

Я решил это с помощью JSON.stringify(arg) до вызова browser.execute(function, arg).

Итак, я предполагаю, что ваш consentRequestBody содержит ключи с дефисами.

Я предполагаю, что это вызвано org.openqa.selenium.ie.InternetExplorerDriver, но я не уверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...