【问题标题】:Sauce Labs with protractor, malformed URI带有量角器的 Sauce Labs,URI 格式错误
【发布时间】:2017-05-16 12:57:46
【问题描述】:

我的量角器配置是:

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

有人在运行测试时遇到过这个问题吗? 这对我来说是一个非常奇怪的行为...... 遗憾的是找不到示例。

【问题讨论】:

  • onet.plondemand.saucelabs.com:80/wd/hub 都是有效的 URL,并由 url 节点模块(由 selenium-webdriver 使用)解析,没有任何问题。你确定你使用这个配置来运行测试吗?
  • 如果您在 directConnect 模式和/或本地(而不是在 saucelabs 上)运行它会发生什么?

标签: node.js selenium protractor saucelabs


【解决方案1】:

我能够通过在sauceUsersauceKey 中使用错误编码的字符来复制您的错误。你能检查一下你的配置中是否有这样的字符吗?

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 git issue已经解释了nodeJs中的这个问题

当客户端将 'ê' 编码为 '%EA' 和一个 'é' 作为“%E9”,然后将它们发送到我的节点服务器。试图 解码它们中的任何一个都会导致 uri 格式错误:

decodeURIComponent("%EA"); URIError: URI malformed at decodeURIComponent (native) at repl:1:1

【讨论】:

    猜你喜欢
    • 2014-10-02
    • 2014-11-09
    • 2017-12-16
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2016-08-27
    • 1970-01-01
    相关资源
    最近更新 更多