第一個codeceptjs測試框架

之前的兩篇文章從理論的角度分別介紹了E2E(End to End)測試的演進[1]以及E2E測試的常用工具codeceptjs[2],本篇文章從實戰的角度出發描述了一個基本的codecept框架是如何搭建起來的。出於篇幅考慮,本文僅關注codeceptjs最基本的一些內容,即如何啓動一個頁面。關於其他的特性,如數據管理,helper擴展,report,PageObject等,將在以後的文章中分別探討。另外本文介紹的框架是基於WebDriverIO的,因爲這是比較常用的backend。最後,相關代碼可以在github[3]上找到。值得注意的是,代碼採用了codeceptjs1.1.5版本,主要有連個原因。首先,我們項目開始的比較早,在開始的時候1.1.5所以比較穩定的版本;其次,1.1.5已經可以解決大部分的問題。

1. 安裝codeceptjs,同時爲其配置webdriverIO的庫。

npm install codeceptjs webdriverio --save-dev

命令成功執行之後,在當前目錄將生成一個package-lock.json文件。這個文件由npm生成,用於描述npm爲當前工程生成的dependencies樹。通常要commit到source repo中去。這個文件將作爲項目的基線,開發和測試人員都可以把它作爲參考,安裝相同的dependencies。同時可以對其進行版本控制,以便追溯dependencies 樹變更的過程[4]。

2. 在當前目錄初始化codeceptjs

npx codeceptjs init

併爲其選擇webdriverIO


npx相當於$ node-modules/.bin/codeceptjs。Npx是npm提供的一個工具庫,最早引入於npm5.2.0 [5]。

3. 建立你的第一個測試case

npx codeceptjs gt

4. 寫下第一個scenario

Feature('First test.e2e.js');
Scenario('test something', (I) => {
    I.amOnPage('http://www.baidu.com');
});

5. 準備Selenium Server

npm install selenium-standalone@latest -g
selenium-standalone install && selenium-standalone start

這只是selenium server啓動的一種方式[7],在最新版本的codeceptjs中,已經支持將selenium server配置成plugin自動啓動和關閉[8]。

6. 啓動第一個case

npx codeceptjs run --steps

至此,一個簡單的codeceptjs測試框架就搭建完成了。詳細的說明可以參考codeceptjs的官網[9]。

[1] https://www.jianshu.com/p/61a0e2b0925e
[2] https://www.jianshu.com/p/39908e14adf9
[3] https://github.com/yangzhao1983/codeceptjs_framework
[4] https://docs.npmjs.com/files/package-lock.json
[5] https://blog.npmjs.org/post/162869356040/introducing-npx-an-npm-package-runner
[6] https://www.npmjs.com/package/selenium-standalone
[7] https://www.npmjs.com/package/selenium-standalone
[8] https://codecept.io/quickstart#using-selenium-webdriver
[9] https://codecept.io/quickstart#using-selenium-webdriver

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章