Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

codeceptjs - использование src в switchTo

nodejs
codeceptjs
selenium
javascript
Теги: #<Tag:0x00007fedc08ff6f0> #<Tag:0x00007fedc08fd738> #<Tag:0x00007fedc08fcd38> #<Tag:0x00007fedc08fc7c0>

#1

Можно ли как-то задать в switchTo, чтобы фрейм находился по ссылке?
Есть у меня например такой фрейм:

Если я использую I.switchTo('iframepanel-1126-iframeEl'); то все ок. Но id постоянно меняется, поэтому тест фейлица. Как можно задать в switchTo поиск не по id, а по src например? Т.е что-то типа I.switchTo(iframe src="well_analyze/detailcard").

(Lev Yarushin) #2

Можно попробовать переключаться не по id, а по порядковому номеру iframe на странице.
Вот так:

I.switchTo(1);

Для поиска по src нужно писать свой хелпер:

    switchToIframeBySrc(src) {
        let client = this.helpers['WebDriverIO'].browser;
        client.waitForVisible("iframe[src='" + src + "']", 3000);
        return client.element("iframe[src='" + src + "']").then((frame) => {
            console.log(frame);
            return client.frame(frame.value);
        });
    }

#3

спасибо! добавил, а как его использовать? что-то не получается:

I.switchToIframeBySrc(‘well_analyze/detailcard’)
[2] Queued | switchToIframeBySrc: well_analyze/detailcard
[2] Queued | ask for next step
Emitted | step.before (I switch to iframe by src “well_analyze/detailcard”)

  • I switch to iframe by src “well_analyze/detailcard”
    Emitted | step.after (I switch to iframe by src “well_analyze/detailcard”)
    FAIL $ is not defined

(Lev Yarushin) #4

Прошу прощения, поправил код )
Попробуйте ещё раз.


#5

I.switchToIframeBySrc(‘well_analyze/detailcard’)
[2] Queued | switchToIframeBySrc: well_analyze/detailcard
[2] Queued | ask for next step
Emitted | step.before (I switch to iframe by src “well_analyze/detailcard”)

  • I switch to iframe by src “well_analyze/detailcard”
    Emitted | step.after (I switch to iframe by src “well_analyze/detailcard”)
    FAIL Converting circular structure to JSON

(Lev Yarushin) #6

Надо всё-таки добраться до машины с СodeceptJS )
Ещё раз поправил. Пишите если не поможет.


(Lev Yarushin) #7

Добрался. Теперь всё должно работать


#8

ОООгромное спасибо, теперь работает!