codeceptjs / codeceptjs/CodeceptJS

webdriverio, window.fetch and basic Auth receive: Request cannot be constructed from a URL that includes credentials

未关闭
#2,733 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
JavaScript
星标
4.2k
派生
757
平均合并
2 天 9 小时
30 天内合并 PR
16

描述

#### What are you trying to achieve?

I have a Basic Auth web page that contains a web form where user log in in our platform.

Setting the `basicAuth` WebDriver' attribute, The basic Auth works fine,
but when we try to click the "Login button" of our web page, I receive:
`Request cannot be constructed from a URL that includes credentials web driver`

This because the button click trigger a window.fetch call and the url contains the basic authentication.

#### What do you get instead?

Is there a method to force the set of the `Authentication header` instead of append credential into the url?

### Details

* CodeceptJS version: 3.0.2
* NodeJS Version: v14.4.0
* Operating System: Mac OS
* webdriverio
* Configuration file:

```js

exports.config = {
tests: './e2e/**/*.spec.js',
output: './e2e/output',
helpers: {
WebDriver: {
browser: 'chrome',
host: '127.0.0.1',
port: 4444,
restart: false,
windowSize: '1920x1680',
basicAuth: env.basicAuth,
url: env.baseURL,
show: !headless,
ignoreHTTPSErrors: true,
emulate,
fullPageScreenshots: true,
chromium: {
args: [
'--ignore-certificate-errors',
'--no-sandbox',
'--disable-setuid-sandbox',
],
},
},
},
include: {
I: './e2e/steps_file.js',
},
bootstrap: null,
mocha: {},
name: 'login page',
plugins: {
wdio: {
enabled: true,
services: ['selenium-standalone'],
},
autoLogin: autologin,
retryFailedStep: {
enabled: true,
},
screenshotOnFail: {
enabled: true,
},
},
multiple: {
basic: {
browsers,
},
},
};

```

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。