WebDriverError: org.openqa.selenium.remote.RemoteWebElement не может быть приведен к java.util.List - PullRequest
0 голосов
/ 28 сентября 2018

У меня странная ошибка при использовании удаленного веб-драйвера в соусных лабораториях для моих тестов пользовательского интерфейса.это происходит при указании драйверу дождаться, пока элемент не будет найден.

await browser.wait(until.elementsLocated(By.css('#divID .someInnerClass')));

, и ошибка не всегда возникает.

WebDriverError: org.openqa.selenium.remote.RemoteWebElement cannot be cast to java.util.List

вот полная трассировка стека:

WebDriverError: org.openqa.selenium.remote.RemoteWebElement cannot be cast to java.util.List
[slee..some]       at Object.checkLegacyResponse (node_modules/selenium-webdriver/lib/error.js:529:15)
[slee..some]       at parseHttpResponse (node_modules/selenium-webdriver/lib/http.js:509:13)
[slee..some]       at doSend.then.response (node_modules/selenium-webdriver/lib/http.js:441:30)
[slee..some]       at process._tickCallback (internal/process/next_tick.js:68:7)
[slee..some]   From: Task: WebDriver.findElements(By(css selector, #divID .someInnerClass))
[slee..some]       at thenableWebDriverProxy.schedule (node_modules/selenium-webdriver/lib/webdriver.js:807:17)
[slee..some]       at thenableWebDriverProxy.findElements (node_modules/selenium-webdriver/lib/webdriver.js:1048:22)
[slee..some]       at /Users/username/workspace/node_modules/selenium-webdriver/lib/until.js:265:23
[slee..some]       at /Users/username/workspace/node_modules/selenium-webdriver/lib/webdriver.js:938:14
[slee..some]       at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:3092:14)
[slee..some]       at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js:3075:27)
[slee..some]       at asyncRun (node_modules/selenium-webdriver/lib/promise.js:2982:25)
[slee..some]       at /Users/username/workspace/node_modules/selenium-webdriver/lib/promise.js:676:7
[slee..some]       at process._tickCallback (internal/process/next_tick.js:68:7)
[slee..some]   From: Task: <anonymous>
[slee..some]       at pollCondition (node_modules/selenium-webdriver/lib/promise.js:2203:19)
[slee..some]       at /Users/username/workspace/node_modules/selenium-webdriver/lib/promise.js:2199:7
[slee..some]       at new ManagedPromise (node_modules/selenium-webdriver/lib/promise.js:1085:7)
[slee..some]       at ControlFlow.promise (node_modules/selenium-webdriver/lib/promise.js:2513:12)
[slee..some]       at /Users/username/workspace/node_modules/selenium-webdriver/lib/promise.js:2198:22
[slee..some]       at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:3092:14)
[slee..some]       at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js:3075:27)
[slee..some]       at asyncRun (node_modules/selenium-webdriver/lib/promise.js:2982:25)
[slee..some]       at /Users/username/workspace/node_modules/selenium-webdriver/lib/promise.js:676:7
[slee..some]       at process._tickCallback (internal/process/next_tick.js:68:7)
[slee..some]   From: Task: Waiting for at least one element to be located By(css selector, #divID .someInnerClass)
[slee..some]       at scheduleWait (node_modules/selenium-webdriver/lib/promise.js:2196:20)
[slee..some]       at ControlFlow.wait (node_modules/selenium-webdriver/lib/promise.js:2525:12)
[slee..some]       at thenableWebDriverProxy.wait (node_modules/selenium-webdriver/lib/webdriver.js:934:29)
[slee..some]       at Context.<anonymous> (ui-tests/sanity.test.js:85:23)
[slee..some]       at process._tickCallback (internal/process/next_tick.js:68:7)

возможности для удаленного веб-драйвера:

driver = 
    new Builder().
    withCapabilities({
        'browserName': 'internet explorer',
        'platform': 'Windows 10',
        'version': '11.103',
        'name': "Test Suite",
        'tag': "sauce-labs",
        'build': "local",
        'username': username,
        'accessKey': accessKey,
    }).
    usingServer("http://" + username + ":" + accessKey +
                "@ondemand.saucelabs.com:80/wd/hub").
    build();

кто-нибудь когда-либо видел это раньше?Я немного погуглил и обнаружил похожую проблему в java со ссылкой на использование findElements вместо findElement, но, как вы можете видеть, я использую elementsLocated, который возвращает список, поэтому я не знаю, почему это происходит.

...