Slide 1

Slide 1 text

1)16OJU4FMFOJVN 'JSTU4UFQ(VJEF !TV[VLJ BU$P&EP

Slide 2

Slide 2 text

"CPVUNF w5XJUUFS!TV[VLJ w(JU)VC 7JNFP 6TUSFBNTV[VLJ w8FC/JLLJIUUQTV[VLJUEJBSZOFU IUUQHJIZPKQMJGFTUZMFTFSJBMFWFOUTUSFBNJOH

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

"CPVUUIJTTFTTJPO

Slide 5

Slide 5 text

w IUUQTHJUIVCDPNTV[VLJQIQVOJUTFMFOJVNTBNQMFT 4BNQMFDPEFJO(JU)VC

Slide 6

Slide 6 text

4BNQMF"QQSVOOJOHPO)FSPLV w IUUQQIQVOJUTFMFOJVNTBNQMFTIFSPLVBQQDPN

Slide 7

Slide 7 text

4UFQTPG5PEBZ w4UFQ w 4FUUJOH1)16OJU &YUFOTJPO w4UFQ w 4FUUJOH4FMFOJVN %SJWFS #SPXTFST w4UFQ w 8SJUFUFTUDPEF w.PSF w3FGFSFODFT

Slide 8

Slide 8 text

0WFSWJFX %FCJBO .BD049 8JOEPXT 1)16OJU &YUFOTJPO 4FMFOJVN4FSWFS %SJWFST #SPXTFST 4FMFOJVN4FSWFS %SJWFST #SPXTFST )FSPLV 8FC"QQ 172.16.25.135 172.16.25.131 172.16.25.132

Slide 9

Slide 9 text

4UFQ 4FUUJOH1)16OJU &YUFOTJPO

Slide 10

Slide 10 text

1)16OJU wY6OJUGPS1)1 w IUUQQIQVOJUEF $

Slide 11

Slide 11 text

1)16OJU&YUFOTJPO w0QUJPOBM1BDLBHFT w %C6OJU w GPS%BUBCBTFUFTU w 1)16OJU@4UPSZ w GPS4UPSZCBTFEUFTU w 1)16OJU@4FMFOJVN w GPS4FMFOJVNCBTFEUFTU

Slide 12

Slide 12 text

1)16OJU4FMFOJVN w1)16OJU@&YUFOTJPOT@4FMFOJVN5FTU$BTF w GPS4FMFOJVNY w 8FC%SJWFSDPNNBOE w1)16OJU@&YUFOTJPOT@4FMFOJVN5FTU$BTF w GPS4FMFOJVNY w 4FMFOJVN3$DPNNBOE

Slide 13

Slide 13 text

$PNQPTFS w%FQFOEFODZ .BOBHFSGPS1)1 w IUUQHFUDPNQPTFSPSH

Slide 14

Slide 14 text

PO%FCJBO(/6-JOVY

Slide 15

Slide 15 text

*OTUBMM w(FU$PNQPTFS • $ curl -s https://getcomposer.org/installer | php

Slide 16

Slide 16 text

*OTUBMM w(FU1)16OJU &YUFOTJPO w DPNQPTFSKTPO w JOTUBMM • $ php composer.phar install { "require": { "phpunit/phpunit": "3.7.*", "phpunit/phpunit-selenium": ">=1.2" } }

Slide 17

Slide 17 text

*OTUBMM w%JSFDUPSJFT vendor/ autoload.php bin/ phpunit (symlink) composer/ phpunit/ symfony/ composer.json

Slide 18

Slide 18 text

4UFQ 4FUUJOH4FMFOJVN %SJWFS #SPXTFS

Slide 19

Slide 19 text

4FMFOJVN w#SPXTFSCBTF8FC"QQ5FTU5PPMT w 4FMFOJVN w 4FMFOJVN w IUUQTFMFOJVNIRPSH $

Slide 20

Slide 20 text

PO.BD049 PO8JOEPXT

Slide 21

Slide 21 text

*OTUBMM w%PXOMPBEl'JSFGPYz l$ISPNFz

Slide 22

Slide 22 text

*OTUBMM w%PXOMPBEl+BWBz "UUFOUJPO,FFQVTJOH+BWBPGMBUFTUWFSTJPO

Slide 23

Slide 23 text

*OTUBMM w%PXOMPBEl4FMFOJVN4FSWFSz

Slide 24

Slide 24 text

*OTUBMM wPO.BD049 w %PXOMPBEl$ISPNF%SJWFSz w IUUQDPEFHPPHMFDPNQDISPNFESJWFSEPXOMPBETMJTU

Slide 25

Slide 25 text

*OTUBMM wPO.BD049 w 4UPSFJOTBNFEJSFDUPSZ 4FMFOJVN4FSWFSBOE%SJWFS % ls -l chromedriver selenium-server-standalone-2.31.0.jar

Slide 26

Slide 26 text

*OTUBMM wPO8JOEPXT w %PXOMPBEl*OUFSOFU&YQMPSFS%SJWFSz w IUUQEPDTTFMFOJVNIRPSHEPXOMPBE w %PXOMPBEl$ISPNF%SJWFSz w IUUQDPEFHPPHMFDPNQDISPNFESJWFSEPXOMPBETMJTU

Slide 27

Slide 27 text

*OTUBMM wPO8JOEPXT w 4UPSFJOTBNFEJSFDUPSZ 4FMFOJVN4FSWFSBOE%SJWFS 2013/03/06 08:40 . 2013/03/06 08:40 .. 2013/03/06 08:38 2,575,872 chromedriver.exe 2013/03/06 08:39 2,806,784 IEDriverServer.exe 2013/03/06 08:21 34,289,992 selenium-server-standalone-2.31.0.jar

Slide 28

Slide 28 text

*OTUBMM wPO8JOEPXT *OUFSOFU&YQMPSFS 4FUUIF1SPUFDUFE.PEFTFUUJOHT GPSFBDI[POFUPCFUIFTBNFWBMVF

Slide 29

Slide 29 text

*OTUBMM wPO8JOEPXT *OUFSOFU&YQMPSFS CSPXTFS[PPNMFWFMNVTUCFTFUUP GPSNPVTFFWFOU

Slide 30

Slide 30 text

'JSFGPY 4BGBSJ%SJWFS w/POFFEUPJOTUBMM w 4FMFOJVN4FSWFSCVOEMF'JSFGPYBOE4BGBSJESJWFS Selenium Server Firefox Driver IE Driver Chrome Driver Safari Driver 4BGBSJESJWFSPSVQQFSWFSTJPO

Slide 31

Slide 31 text

#PPU4FMFOJVN4FSWFS w.BD049 w VTF5FSNJOBMBQQ w8JOEPXT w VTF$NEFYF $ java -jar selenium-server-standalone-2.31.0.jar > java -jar selenium-server-standalone-2.31.0.jar \ -Dwebdriver.ie.driver=./IEDriverServer.exe \ -Dwebdriver.chrome.driver=./chromedriver.exe lzJTMBUFTUWFSTJPOBUUIJTUJNF 4P JUXJMMDIBOHFBUUIFGVUVSF

Slide 32

Slide 32 text

8BSOJOH w4FMFOJVN4FSWFSEFGBVMU"MMPXGSPN"MM w

Slide 33

Slide 33 text

4UFQ 8SJUFUFTUDPEF

Slide 34

Slide 34 text

5BSHFU8FC"QQ w'PSN http://phpunit-selenium2-samples.herokuapp.com/01/index.php

Slide 35

Slide 35 text

5BSHFU8FC"QQ w3FTVMU http://phpunit-selenium2-samples.herokuapp.com/01/receive.php

Slide 36

Slide 36 text

5BSHFU$PEF wJOEFYQIQ

Slide 37

Slide 37 text

5BSHFU$PEF wSFDFJWFQIQ

Slide 38

Slide 38 text

4UFQ 0QFOGPSN UJUMFDIFDL

Slide 39

Slide 39 text

4FU6Q UFTU5JUMF wTBNQMF5FTUQIQ

Slide 40

Slide 40 text

&YUFOET w1)16OJU@&YUFOTJPOT@4FMFOJVN5FTU$BTF

Slide 41

Slide 41 text

TFU6Q w4FMFOJVN4FSWFS4FUUJOHT public function setUp() { $targetUrl = 'http://phpunit-selenium2-samples.herokuapp.com/01/'; $this->setHost('172.16.25.131'); $this->setPort(4444); $this->setBrowser('firefox'); $this->setBrowserUrl($targetUrl); } 4FMFOJVN4FSWFS 5BSHFU#SPXTFS 5BSHFU63-

Slide 42

Slide 42 text

UFTU5JUMF wUJUMFUFTU public function testTitle() { $this->url('/index.php'); $this->assertEquals('Sample 01', $this->title()); } Sample 01 JOEFYQIQ TBNQMF5FTUQIQ "TTFSUJPOCZ1)16OJU

Slide 43

Slide 43 text

4UFQ *OQVUGPSN BTTFUSFTVMU

Slide 44

Slide 44 text

4UFQ *OQVUGPSN

Slide 45

Slide 45 text

UFTU'PSN w*OQVU'PSN

Slide 46

Slide 46 text

UFTU'PSN OBNF
Name
// set Name $element = $this->byId('inputName'); // like getElementById() $element->value('suzuki'); JOEFYQIQ TBNQMF5FTUQIQ TFUWBMVF MJLFHFU&MFNFOU#Z*E

Slide 47

Slide 47 text

UFTU'PSN FNBJM
Email
// set Email $this->byName('data[email]')->value('[email protected]'); // method chaining JOEFYQIQ TBNQMF5FTUQIQ MJLFHFU&MFNFOU#Z/BNF

Slide 48

Slide 48 text

UFTU'PSN GSVJUT
Which fruit do you like ?
Apple Orange Grape
// select Fruits $this->select($this->byId('inputFruits'))->selectOptionByLabel('Orange'); JOEFYQIQ TBNQMF5FTUQIQ same result: selectOptionByValue('orange') 4BGBSJEPFTOPUXPSLUIJT UBSHFUWBMVFPSBOHF -BCFM cc PQUJPO-"#&-PQUJPO

Slide 49

Slide 49 text

UFTU'PSN DJUZ
Do you want to go ?
Sapporo Tokyo Osaka
// click City checkbox $this->byId('inputCitySapporo')->click(); JOEFYQIQ TBNQMF5FTUQIQ pSFDMJDLFWFOU

Slide 50

Slide 50 text

UFTU'PSN OVNCFS
Which number like ?
Odd Even
// click Number radio $this->byId('inputNumberEven')->click(); JOEFYQIQ TBNQMF5FTUQIQ pSFDMJDLFWFOU

Slide 51

Slide 51 text

UFTU'PSN TVCNJU
Register
// submit form $this->byCssSelector('button.btn-primary')->click(); JOEFYQIQ TBNQMF5FTUQIQ $this->byCssSelector('button#btnSubmit')->click(); TBNFSFTVMUJOUIJTDBTF MJLF$44 CVUUPOCUOQSJNBSZ\ DPMPSSFE ^

Slide 52

Slide 52 text

4UFQ "TTFSUSFTVMU

Slide 53

Slide 53 text

UFTU'PSN w"TTFSUSFTVMU

Slide 54

Slide 54 text

UFTU'PSN BTTFSU Name Email Fruits // Name $element = $this->byId('resultName'); $innerText = $element->text(); $this->assertEquals('suzuki', $innerText); // Email $innerText = $this->byId('resultEmail')->text(); $this->assertEquals('[email protected]', $innerText); // Fruits $this->assertEquals('orange', $this->byId('resultFruits')->text()); SFDFJWFQIQ TBNQMF5FTUQIQ

Slide 55

Slide 55 text

UFTU'PSN BTTFSU City Number // City $this->assertEquals('sapporo', $this->byId('resultCity')->text()); // Number $this->assertEquals('even', $this->byId('resultNumber')->text()); SFDFJWFQIQ TBNQMF5FTUQIQ

Slide 56

Slide 56 text

.PSF

Slide 57

Slide 57 text

4FMFOJVN*%& w"VUPHFOFSBUF4FMFOJVN3$DPNNBOE

Slide 58

Slide 58 text

1)1'PSNBUUFS w1MVHJOGPS4FMFOJVN*%&

Slide 59

Slide 59 text

*OTUBMM1)1'PSNBUUFS w1SPKFDUQBHF w IUUQTHJUIVCDPNTV[VLJ1)1'PSNBUUFS1)16OJU@4FMFOJVN w%PXOMPBEYQJpMF w IUUQCJUMZ;OKRE w IUUQTHJUIVCDPNTV[VLJ1)1'PSNBUUFS1)16OJU@4FMFOJVNCMPCNBTUFSCVJME QIQGPSNBUUFS![BUTVCVODPNYQJ SBXUSVF w%SBH%SPQUP'JSFGPY w pMFQIQGPSNBUUFS![BUTVCVODPNYQJESBHESPQ [BUTVCVODPNJTNZPXOEPNBJO

Slide 60

Slide 60 text

3FDPSEJOH

Slide 61

Slide 61 text

&YQPSU w&YQPSU1)16OJU@4FMFOJVN5FTU$BTFDPEF

Slide 62

Slide 62 text

"VUPHFOFSBUF

Slide 63

Slide 63 text

3FGFSFODFT

Slide 64

Slide 64 text

1)16OJUEPDVNFOU w IUUQXXXQIQVOJUEFNBOVBMKBTFMFOJVNIUNMTFMFOJVNTFMFOJVNUFTUDBTF

Slide 65

Slide 65 text

4BNQMFJO(JU)VC w IUUQTHJUIVCDPNTFCBTUJBOCFSHNBOOQIQVOJUTFMFOJVNCMPCNBTUFS5FTUT 4FMFOJVN5FTU$BTF5FTUQIQ

Slide 66

Slide 66 text

4FMFOJVN8JLJ w IUUQDPEFHPPHMFDPNQTFMFOJVNXMJTU

Slide 67

Slide 67 text

5IF8FC%SJWFS8JSF1SPUDPM w IUUQDPEFHPPHMFDPNQTFMFOJVNXJLJ+TPO8JSF1SPUPDPM

Slide 68

Slide 68 text

.ZXPSLJOHEPDVNFOU w IUUQCJUMZQIQVOJUTFMFOJVN

Slide 69

Slide 69 text

2VFTUJPO

Slide 70

Slide 70 text

5IBOLT