codeceptjs / codeceptjs/CodeceptJS

swithTo/within not swith to iframe

Offen
#4,414 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
stale
Vorherrschende Sprache
JavaScript
Sterne
4.2k
Forks
757
Ø Merge
2 T. 9 Std.
Gemergte PRs (30 T.)
16

Beschreibung

#### What are you trying to achieve?
After update codeceptjs, I can't get input in iframe. I just try using switchTo and within. My code work on codecept 3.4.1

#### What do you get instead?

> Provide console output if related. Use `--verbose` mode for more details.

```bash
I wait for visible "[data-marker=new-card]", 5
I click "[data-marker=new-card]"
I wait for element "[data-marker=iframe]", 5
I switch to "[data-marker=iframe]"
I wait for element "[id=pan]", 5
› [Browser:Warning]
[1] Error (Non-Terminated) | Error: element ([id=pan]) still not present on page after 5 sec
Waiting for selector `[id=pan]` failed: Waiting failed: 5000ms exceeded | (err) => { step.status = 'failed'; step.endTime = ...
[1] Error | Error: element ([id=pan]) still not present on page after 5 sec
Waiting for selector `[id=pan]` failed: Waiting failed: 5000ms exceeded undefined...
[1] Stopping recording promises

...
Error: element ([id=pan]) still not present on page after 5 sec
Waiting for selector `[id=pan]` failed: Waiting failed: 5000ms exceeded
```

> Provide test source code if related

```js
await I.waitForElement(this.iframe, FRONT_TIMEOUT_SEC);
await I.switchTo(this.iframe);
await I.waitForElement(this.cardNumberInput, FRONT_TIMEOUT_SEC);
await I.waitForVisible(this.cardNumberInput, FRONT_TIMEOUT_SEC);
await I.fillField(this.cardNumberInput, creditCard.cardNumber);
await I.fillField(this.expDateInput, creditCard.expDate);
await I.fillField(this.cvcInput, creditCard.cvv);
await I.switchTo();
```

### Details

* CodeceptJS version: 3.6
* NodeJS Version: 18.16.1
* Operating System: mac os
* puppeteer || webdriverio || testcafe version (if related)
* Configuration file:

```js
exports.config = {
fullPromiseBased: true,
tests: testsPath,
output: `${pwd}/output`,
bootstrap: () => {
global.codecept_dir = pwd;
},
name: 'xxx',
helpers: {
Puppeteer: {
show: true,
waitForNavigation: 'networkidle2',
waitForTimeout: 30000,
getPageTimeout: 30000,
windowSize: '1000x1000',
browser: 'chrome',
chrome: {
args: ['--no-sandbox',
'--window-size=1920,1000',
'--disable-setuid-sandbox',
'--disable-web-security',
// workaround for iframe in {headless: false} mode,
// see details https://github.com/puppeteer/puppeteer/issues/4964
'--disable-features=site-per-process',
],
devtools: false,
},
manualStart: false,
restart: false,
keepCookies: true,
keepBrowserState: false,
},
FileSystem: {},
},
plugins: {
screenshotOnFail: {
enabled: false,
},
retryTo: {
enabled: true
},
tryTo: {
enabled: true,
require: ''
}
},
require: ['ts-node/register'],

};

```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.