Sauce Labs с транспортиром, искаженным URI

Моя конфигурация транспортира:

exports.config = {
baseUrl: 'http://www.onet.pl',
directConnect: false,
sauceUser: 'myuser',
sauceKey: 'mypassword',

 capabilities: {
    'browserName': 'chrome',
    'chromeOptions': {
        'args': ['show-fps-counter=true', '--allow-running-insecure-content']
    }
},
}

Когда я пытаюсь запустить тесты, я получаю следующую ошибку:

    [12:57:56] I/sauce - Using SauceLabs selenium server at   http://ondemand.saucelabs.com:80/wd/hub
 [12:57:56] I/launcher - Running 1 instances of WebDriver
[12:57:56] E/launcher - URI malformed
[12:57:56] E/launcher - URIError: URI malformed
    at decodeURIComponent (native)
    at Url.parse (url.js:275:19)
    at Object.urlParse [as parse] (url.js:81:5)
    at new HttpClient (C:\Users\gwk736\Gitlab\Inform\e2e\node_modules\selenium-webdriver\http\index.js:221:25)
    at C:\Users\gwk736\Gitlab\Inform\e2e\node_modules\selenium-webdriver\executors.js:47:18
    at ManagedPromise.invokeCallback_ (C:\Users\gwk736\Gitlab\Inform\e2e\node_modules\selenium-webdriver\lib\promise.js:1379:14)
    at TaskQueue.execute_ (C:\Users\gwk736\Gitlab\Inform\e2e\node_modules\selenium-webdriver\lib\promise.js:2913:14)
    at TaskQueue.executeNext_ (C:\Users\gwk736\Gitlab\Inform\e2e\node_modules\selenium-webdriver\lib\promise.js:2896:21)
    at asyncRun (C:\Users\gwk736\Gitlab\Inform\e2e\node_modules\selenium-webdriver\lib\promise.js:2820:25)
    at C:\Users\gwk736\Gitlab\Inform\e2e\node_modules\selenium-webdriver\lib\promise.js:639:7
[12:57:56] E/launcher - Process exited with error code 199

Кто-нибудь сталкивался с этой проблемой при запуске тестов? Для меня это очень странное поведение... К сожалению, примеров не найдено.


person Jerzy Gruszka    schedule 02.01.2017    source источник
comment
И onet.pl, и ondemand.saucelabs.com:80/wd/hub являются допустимыми URL-адресами и анализируются модулем узла url (используемым selenium-webdriver) без каких-либо проблем. Вы уверены, что используете эту конфигурацию для запуска тестов?   -  person alecxe    schedule 02.01.2017
comment
Что произойдет, если вы запустите его в режиме DirectConnect и/или локально (не на соуслабах)?   -  person alecxe    schedule 02.01.2017


Ответы (1)


Я смог воспроизвести вашу ошибку, неправильно закодировав символы либо в sauceUser, либо в sauceKey. Можете ли вы проверить, есть ли у вас такие символы в вашей конфигурации?

sauceUser: 'myuser',
sauceKey: 'password%EA',

Стек ошибок:

[14:41:46] I/sauce - Using SauceLabs selenium server at http://ondemand.saucelabs.com:80/wd/hub
[14:41:46] I/launcher - Running 1 instances of WebDriver
[14:41:46] E/launcher - URI malformed
[14:41:46] E/launcher - URIError: URI malformed
    at decodeURIComponent (native)
    at Url.parse (url.js:195:19)
    at Object.urlParse [as parse] (url.js:84:5)

Эта проблема в nodeJs была объяснена в этом nodejs git issue

Я только что столкнулся с этой ошибкой, когда клиент закодировал «ê» как «% EA» и «é» как «% E9», а затем отправил их на мой сервер узла. Попытка декодировать любой из них приводит к ошибке неправильного формата uri:

decodeURIComponent("%EA"); URIError: URI malformed at decodeURIComponent (native) at repl:1:1
person AdityaReddy    schedule 03.01.2017