codeceptjs / codeceptjs/CodeceptJS

codeceptjs script get stuck when using session inside a Scenario

未關閉
#5,179 6 則留言 0 個 reaction 已指派 1 人 已被 @DenysKuchma 認領 在 GitHub 檢視
stale
主要語言
JavaScript
星號
4.2k
分支
757
平均合併
2 天 9 小時
30 天內合併 PR
16

描述

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!

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。