gemini-testing / testplane

Testplane (ex-hermione) browser test runner based on mocha and wdio
https://testplane.io
MIT License
678 stars 62 forks source link

В тесте недоступно поле browserId #937

Closed bolkonya closed 1 month ago

bolkonya commented 1 month ago

Verify latest release

Hermione version

8.9.3

Last Hermione version that worked

7.5.5

Which area(s) of Hermione are affected? (leave empty if unsure)

No response

Link to the code that reproduces this issue or a replay of the bug

No response

Reproduction steps

Попытаться получить значение browser.executionContext.browserId

Раньше значение было доступно через this.currentTest.browserId

Actual Behavior

Такого поля нет в типе executionContext

Expected Behavior

Поле указано в типе и доступно для чтения - как и следует из документации в разделе https://github.com/gemini-testing/testplane/tree/hermione/8.9.3?tab=readme-ov-file#execution-context

Which Node.js version are you using?

20.10.0

DudaGod commented 1 month ago

Привет. А можешь прислать пример воспроизведения?

Я набросал такой тест с использованием hermione@8.9.3:

it('test', async ({browser}) => {
    console.log('browser.executionContext:', browser.executionContext.browserId);
});

И получил корректное название браузера.

bolkonya commented 1 month ago

Да, поле действительно доступно для чтения, я не совсем правильно описал ишью: проблема именно с типизацией executionContext, её нужно доуточнить

executionContext: (RunnerTest | RunnerHook) & {
            hermioneCtx: {
                assertViewResults: Array<AssertViewResult>;
            };
            ctx: {
                browser: WebdriverIO.Browser;
                currentTest: RunnerTest;
            };
        };
DudaGod commented 1 month ago

Да, поле действительно доступно для чтения, я не совсем правильно описал ишью: проблема именно с типизацией executionContext, её нужно доуточнить

Да, с этим есть проблема. Поправил в hermione@8.9.4. Проверь, пожалуйста.

bolkonya commented 1 month ago

Да, теперь типы на месте, спс! Приятным бонусом полечился еще и тип currentTest, благодаря чему hermione-allure больше не расходится в типах с ним.

Есть теперь вопрос по поводу TestFunctionCtx - давай я вынесу в отдельное обсуждение его

bolkonya commented 1 month ago

Оставил вопрос в обсуждении https://github.com/gemini-testing/testplane/discussions/939 Буду признателен за помощь)