是否對於難以操作的 browser selector 感覺到厭煩,或者對於 e2e test 流程不知道該如何入手,
CodeceptJS 幫你解決這類的問題
官方網站: http://codecept.io/
透過 Codecept.js 可以快速達到 e2e test 流程以及協助建立模擬使用者使用流程,確定 UI 狀態。
讓開發測試流程的最後一哩路達到完美。
其他 e2e 框架
CodeceptJS 是基於 helper 概念,將 webdriver.io, Protractor 等框架進行包裝,讓開發者可以透過簡單語法進行操作。
以 Protractor.js 測試語法來說,一般使用方法會如下,
it('should create todo item', (I) => {
browser.get("http://todomvc.com/examples/angularjs/#/");
expect(element(by.css("#todo-count")).isPresent()).toBeFalsy();
var inputField = element(by.model("newTodo"));
inputField.sendKeys("Write a guide");
inputField.sendKeys(protractor.Key.ENTER);
var todos = element.all(by.repeater("todo in todos"));
expect(todos.last().getText()).toEqual("Write a guide"));
element(by.css("#todo-count")).getText()).toContain('1 items left');
});
而透過 codecept.js 之後,語法就可以簡化為,
Scenario('create todo item', (I) => {
I.amOnPage('/');
I.dontSeeElement('#todo-count');
I.fillField({model: 'newTodo'}, 'Write a guide');
I.pressKey('Enter');
I.see('Write a guide', {repeater: "todo in todos"});
I.see('1 item left', '#todo-count');
});
是不是簡單使用許多,也方便讓人上手
e2e 立刻上手
Codecept.js 是方便讓原本使用 Webdriver.io, Protractor 的測試開發者更容易進行維護,讓 e2e 測試流程可以更為簡化。
如果對於 Codecept.js 有深入興趣,歡迎到 Codecept.js 官方網站查詢進一步詳細資料。