codeceptjs / codeceptjs/CodeceptJS
AutoLogin plugin - check is never called
- 主要語言
- JavaScript
- 星號
- 4.2k
- 分支
- 757
- 平均合併
- 2 天 9 小時
- 30 天內合併 PR
- 16
描述
#### What are you trying to achieve?
I'm trying to login once and share cookies between tests.
I've put "pause()" and "I.say(...)" call in check and it is never displayed in the results not does it ever pause when ran with --debug.
#### What do you get instead?
I get login on every suite run (using BeforeSuit for this), and not a single check.
### Details
* CodeceptJS version: 2.0.8
* NodeJS Version: 8.11.1
* Operating System: Windows 10
* WebDriverIO: 5.7.6
* Configuration file:
```js
exports.config = {
output: "./output",
helpers: {
WebDriver: {
url: "http://tools.mycompany.com/Tools",
browser: "chrome",
restart: false,
keepBrowserState: true, // keep browser state between tests when restart is set to false
keepCookies: true, // keep cookies between tests when restart set to false
desiredCapabilities: {
chromeOptions: {
args: ["--headless", "--disable-gpu", "--window-size=1920,1200"]
}
}
}
},
include: {
I: "./codecept/steps_file.js",
page1: "./codecept/pages/page1.js",
page2: "./codecept/pages/page2.js",
page3: "./codecept/pages/page3.js",
page4: "./codecept/pages/page4.js",
page5: "./codecept/pages/page5.js",
page6: "./codecept/pages/page6.js",
fragment1: "./codecept/fragments/fragment1.js",
fragment2: "./codecept/fragments/fragment2.js",
fragment3: "./codecept/fragments/fragment3.js"
},
mocha: {},
bootstrap: false,
teardown: null,
hooks: [],
gherkin: {},
plugins: {
screenshotOnFail: { enabled: true },
allure: { enabled: true },
autoLogin: {
enabled: true,
inject: "login",
users: {
testUser: {
login: I => {
return I.login();
},
check: I => {
I.say("CHECK!");
pause();
I.amOnPage("/");
I.see("TEST USER", ".user-fullname");
},
fetch: () => {}, // not neccessary due to "keepCookies" option
restore: () => {} // not neccessary due to "keepCookies" option
}
}
}
},
tests: "./codecept/*_test.js",
timeout: 10000,
name: "Tools.E2eTests"
};
```
貢獻指南
研究方向
從 autoLogin 外掛程式設定及其 check、login、fetch 和 restore hook 開始,使用 CodeceptJS 2.0.8 和 WebDriverIO 5.7.6 重現此設定。追查 check 未被呼叫的原因,然後驗證 check 會執行,且登入狀態或 Cookie 會在測試套件之間共用。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- javascript, node.js
- 領域
- testing
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100