0
我使用CodeceptJS編寫了以下驗收測試套件,並且工作正常。我正在使用Before
在每個步驟之前登錄。問題是,Before
功能相當於摩卡的beforeEach
,不是摩卡的before
,什麼我真的想是有一些代碼只運行一次,因爲這個登錄步驟,需要花費一些時間才能完成。在驗收測試前運行設置一次
我希望最終能夠運行一次並從javascript獲得loginToken,然後在每次測試之前使用Before
函數進行設置。如何做到這一點的任何線索?
Feature('Top level-routes');
Before((I) => {
const loginBtnText = 'LOG IN';
I.amOnPage('/login');
I.fillField('username', 'root');
I.fillField('password', 'mypass');
I.see(loginBtnText);
I.seeElementInDOM('[name=loginBtn]');
I.click('loginBtn');
// I don't understand why I need to wait for the click to register
// but nothing happens unless I do ...
I.wait(1);
I.dontSee(loginBtnText);
});
Scenario('a page to add a new encounter should be rendered', (I) => {
I.amOnPage('/encounter/new');
I.wait(2);
I.see('First');
I.see('Last');
});
Scenario('a page to add a new user should be rendered', (I) => {
I.amOnPage('/user/new');
I.wait(2);
I.see('Personalia');
})
P.S.我意識到我可能使用一些外部狀態來檢查這個函數是否已經運行過,但還沒有做到。道具最少哈克答案:)
謝謝,這是一個非常簡單的答案,但我需要什麼,所以也得到了答案。 – oligofren