初探前端測試

by alincode

Who I am

  • alincode
  • JAVA for 5 years
  • SDET for 7 months (freelancer)
  • NodeJS for 6 months (remote)

為什麼寫這本書

IT 鐵人賽

這本書帶給我了什麼

好處 & 壞處

我學到了什麼

如果不跳脫

一般的框框思考

你很難改變什麼

大綱

前端測試
初探 WebdriverIO
第一個測試程式

前端測試

什麼是前端測試

位在測試的哪個階段

功能測試

測試什麼?

測試什麼?

誰可能需要?

QA

PM

Small Team

Big Team

為什麼需要?

什麼時候該導入?

如何開始?

先省略一些東西

看看 webdriverio 吧

What

End to End

Testing Framework

Selenium

JsonWireProtocol

WebdriverIO

!=

WebdriverJS

ref: http://blog.durandal.io/2015/02/16/end-to-end-testing-with-aurelia-and-protractor/

Flow

WebdriverIO

特色

容易擴充

易替換

遠大抱負

容易擴充

CUSTOM COMMANDS

CUSTOM COMMANDS

Page Object

define elements

define or overwrite page method

Page Object

似乎有點簡陋

易替換

BDD / TDD framework
Reporter
Cloud Service

Module is king

遠大抱負

special bindings for Appium

mobile test

WebdriverCSS - CSS regression testing

Who

130 contributors

github

getter

grow up fast

第一個前端自動化測試

Setup

JDK

selenium

java -jar 
/your/download/directory/selenium-server-standalone-2.42.2.jar
npm install selenium-standalone -g

selenium-standalone install
mkdir webdriverio-sandbox

cd webdriverio-sandbox

npm init -y

 

npm install webdriverio -D

  Standalone Mode

selenium-standalone start
node test.js

WDIO Test runner

set config

  Test runner

+ wdio.conf.js

1. Selectors

2. Action

3. Verify

browser.click('h2.subheading a');

title.should.be.equal('教你所想學的,用眼樂讀 - blog.mokayo.com'); 

Chimp

https://github.com/alincode/front-end-test-sandbox

常見問題

如果沒有單元測試

該不該做前端測試

You should

set up babel

Start Selenium Server

lost connect with

Selenium Server

元素階乘不要抓太多層

被低估的

測試程試維護成本

Exma-square 分享會 - 初探前端測試

By alincode

Exma-square 分享會 - 初探前端測試

(2016/06/01)

  • 1,853