Try   HackMD

F2E x Docker | JS 設計模式讀書會 #11

E2E Testing - Protractor by Ralph Hsu

Note

  • End to End Testing 是可以測試到很多東西的。

    • test case
    • 測試腳本。
    • 測試不同的 browser。
  • Test Framework

    • e2e

      • CHAI
      • EXPECT
    • Test Runner

      • Karma:很常見。
      • ava

Selenium

Protractor
  • 在 JS 要操作 Selenium 可以用 Protractor framework,由其是 AngularJS 的環境而言。

  • 大家都寫過 C? 開完檔案後一定要記得把檔案關掉,不然會發生可怕的事情。

  • 常用物件

  • 常用 Callback

    • 在測試後台時,每次都要先登入才行。
    • 如果每個 test case 都 copy-paste 一次,很不方便。所以該用 beforeEach & afterEach
  • Config?

    • set conf.js

      • delay: 若不設就會一閃而過,這樣雖然很爽,但就會看不到錯誤。

        • 是說曾寫過網站,不設 delay 網站會不鳥你⋯⋯
        • chusiang: 因為會有網路這個變數啊 …。
      • 常用的 option。

        • Sauce Labs: CI service.

        • specs:

        • suites: 可以只測某些情境。

          • 如果有很多的測試案例,可以放在 suites 底下。
          • 官方有 page opjects 可以用。
        • browsername: 要測哪些 browser。

        • ???: 可以針對特定 browser 寫測試。

        • allScriptsTimout: 最常用 最常用 最常用。

    • run

      ​​​​​​​​​protractor conf.js  
      
    • package.json

      • 若不是內建的指令 (例如 start),則需要把 run 補上。

      chusiang: 一整個就是 makrfile 的概念,有上下相依的關係。

      ​​​​​​​​​  npm install
      ​​​​​​​​​  npm start
      ​​​​​​​​​  npm run protractor 
      

Q&A


Docker intro for F2E by chusiang

chusiang: 本次簡報些字體較小,建議大家往前坐點兒。

Note

  • 下載今天的 docker image。

    ​​​​​​_docker pull chusiang/takaojs1607_
    

Q&A

chusiang: 有問題請先留言,到時會後再一次解答了。

  1. Docker? container? 兩者的差別是什麼?
  2. 有些 Docker 會開 port 有些不會開?
  1. Vim 貼紙?