codeceptjs / codeceptjs/CodeceptJS

codeceptjs script get stuck when using session inside a Scenario

Aberta
#5,179 6 comentários 0 reações 1 responsável Reivindicada por @DenysKuchma Ver no GitHub
stale
Linguagem predominante
JavaScript
Estrelas
4.2k
Forks
757
Merge médio
2d 9h
PRs com merge (30d)
16

Descrição

Hi,

I upgraded my testing platform from codeceptjs v 3.6.10 to v3.7.4 but encounter a strange issue with codeceptjs script get stuck and never get timeout. I used explicitly timeout in config and in scenario but non worked. Stuck may happen on I.grabAttributeFrom, grabTextFrom which could be multi sessions or multi Data Scenarios. I tried to narrow down the issue and found that If a Scenario start and you perform some tasks using grabTextFrom or grabAttributeFrom with same exact locate function and then use the same exact locate function inside a Scenario Session then it get stuck. It could be the locate function cache of the first browser session element which may be behaving differently when called again in a different session in same test case?

Here is the general test case template:

Scenario('issue of multi sessions', async () => {
login('abc');
I.amOnPage('mywebsite');
let v = await I.grabTextFrom(locate('#myid'));
await session('second', async () => {
I.amOnPage(',mywebsite');
let url2 =I.grabCurrentUrl();
let v = await I.grabTextFrom(locate('#myid')); // get stuck never timeout
});
}).tag('issue');

similar thing happen when i tried to call the same Scenario with data(array).Scenario and locate function get stuck. I tried few without locate but something again did not let he script to run multiple times when data was passed.

Is the same cache get built for the elements inside codceptjs which never cleared with Scenario run multiple times with data being passed? If i dive such scenario into two then they run fine, any clue?

Also any data being not managed correctly when a session is created inside a Scenario? A reference of element on one session is being shared at a wrong place in a different session, any clue?

My application perform few operations so its hard to write a standalone script with the issue, I hope a review of of such feature by developer may pin point the issue and in the mean while i will try to make a test case which reproduce such issue as stand alone Scenario.

Any help will be highly appreciated.
Thanks!

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.