Slide 1

Slide 1 text

"QQJVNXJUI1)16OJU TIPSUWFSTJPO !TV[VLJ 1)1.BUTVSJ4BQQPSP B 13೥7݄15೔݄༵೔

Slide 2

Slide 2 text

B "CPVUNF w5XJUUFS!TV[VLJ w(JU)VC 7JNFP 6TUSFBNTV[VLJ w8FC/JLLJIUUQTV[VLJUEJBSZOFU IUUQHJIZPKQMJGFTUZMFTFSJBMFWFOUTUSFBNJOH 13೥7݄15೔݄༵೔

Slide 3

Slide 3 text

13೥7݄15೔݄༵೔

Slide 4

Slide 4 text

B .FNCFSPG$BLF1)1(JU)VC https://github.com/cakephp?tab=members #VU POMZDBOQVTIEPDSFQP 13೥7݄15೔݄༵೔

Slide 5

Slide 5 text

B "CPVUUIJTTFTTJPO 13೥7݄15೔݄༵೔

Slide 6

Slide 6 text

B "QQJVN http://appium.io/ 13೥7݄15೔݄༵೔

Slide 7

Slide 7 text

B 4UFQT w4UFQ w 4FUUJOHJ044JNVMBUPS w4UFQ w 4FUUJOH)PNFCSFX /PEFKT w4UFQ w 4FUUJOH"QQJVN w4UFQ w 4FUUJOH1)1DPNQPOFOUT 13೥7݄15೔݄༵೔

Slide 8

Slide 8 text

0WFSWJFX .BD049 1)1 "QQJVN J044JNVMBUPS 4BVDFa4BVTBHFa8FC%SJWFS5FTU$BTF FYUFOEFE 1)16OJU@&YUFOTJPOT@4FMFOJVN5FTU$BTF 1)16OJU 13೥7݄15೔݄༵೔

Slide 9

Slide 9 text

B 4UFQ 4FUUJOHJ044JNVMBUPS 13೥7݄15೔݄༵೔

Slide 10

Slide 10 text

B *OTUBMMJ044JNVMBUPS w%PXOMPBE9DPEFGSPN.BD"QQ4UPSF w4LJQUIJT JOUIJTUBML 13೥7݄15೔݄༵೔

Slide 11

Slide 11 text

B 4UFQ 4FUUJOH)PNFCSFX /PEFKT 13೥7݄15೔݄༵೔

Slide 12

Slide 12 text

)PNFCSFX w5IFNJTTJOHQBDLBHFNBOBHFSGPS049 • http://mxcl.github.io/homebrew/ w*OTUBMM • ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" Homebrew B 13೥7݄15೔݄༵೔

Slide 13

Slide 13 text

/PEFKT w'PSFBTJMZCVJMEJOHGBTU TDBMBCMFOFUXPSL BQQMJDBUJPOT w IUUQOPEFKTPSH B 13೥7݄15೔݄༵೔

Slide 14

Slide 14 text

B *OTUBMM/PEFKT w#Z)PNFCSFX • $ brew install node w"OPUIFSXBZ CZQBDLBHFPSUBSCBMM w :PVDBOHFUCJOBSJFTCZhttp://nodejs.org/download/ 13೥7݄15೔݄༵೔

Slide 15

Slide 15 text

B 4UFQ 4FUUJOH"QQJVN 13೥7݄15೔݄༵೔

Slide 16

Slide 16 text

B *OTUBMM"QQJVN w*OTUBMMCZOQN OPEFQBDLBHFNBOBHFS • $ npm install appium w OPVTFH HMPCBM PQUJPOJOUIJTDBTF w3FTVMUTBNQMF $ npm install appium npm http GET https://registry.npmjs.org/appium npm http 304 https://registry.npmjs.org/appium npm http GET https://registry.npmjs.org/underscore [snip] [email protected] ../../node_modules/appium ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] [snip] └── [email protected] ([email protected], [email protected], [email protected], socket.io- [email protected]) 13೥7݄15೔݄༵೔

Slide 17

Slide 17 text

B 3VO w8IFSFXBTJUJOTUBMMFE • $HOME/node_modules/appium/ (many files) • $HOME/node_modules/.bin/appium (symlink to run) w"EE1"5) • $ export PATH=$PATH:$HOME/node_modules/.bin 13೥7݄15೔݄༵೔

Slide 18

Slide 18 text

B "VUIPSJ[FJ04%FWJDF w"VUIPSJ[FJ04EFWJDF • $ sudo authorize_ios $ sudo authorize_ios Password: Backed up to /tmp/authorization.backup.113611-37040-1twmqvz Check this diff to make sure the change looks cool: *** before --- after *************** *** 8232,8238 **** $ $ system.privilege.taskport $ $ $ $ $ allow-root ! $ $ $ $ $ $ class $ $ $ user $ $ $ comment --- 8232,8238 ---- $ $ system.privilege.taskport $ $ $ $ $ allow-root ! $ $ $ $ $ $ class $ $ $ user $ $ $ comment prompt: Make changes? [y/n] : y Wrote new /etc/authorization Authorization successful 13೥7݄15೔݄༵೔

Slide 19

Slide 19 text

B 3VO"QQJVN w3VO • $ appium 13೥7݄15೔݄༵೔

Slide 20

Slide 20 text

B 4UFQ 4FUUJOH1)1DPNQPOFOUT 13೥7݄15೔݄༵೔

Slide 21

Slide 21 text

$PNQPTFS w%FQFOEFODZ .BOBHFSGPS1)1 w IUUQHFUDPNQPTFSPSH B 13೥7݄15೔݄༵೔

Slide 22

Slide 22 text

B *OTUBMM$PNQPTFS w(FU$PNQPTFS • $ curl -sS https://getcomposer.org/installer | php -d detect_unicode=off 13೥7݄15೔݄༵೔

Slide 23

Slide 23 text

B (FUDPNQPTFSKTPO w(FUDPNQPTFSKTPOGSPN(JU)VC • $ cd YOUR_DIRECTORY • $ wget https://raw.github.com/appium/appium/master/ sample-code/examples/php/composer.json w 5IJTJTTBNQMFpMFNBEFCZ"QQJVNQSPKFDU w*OTUBMMVTJOH$PNQPTFS • $ ./composer.phar install 13೥7݄15೔݄༵೔

Slide 24

Slide 24 text

B *OTJEF$PNQPTFSKTPO w0OMZUIFGPMMPXJOH { "require": { "sauce/sausage": ">=0.6.0" } } 13೥7݄15೔݄༵೔

Slide 25

Slide 25 text

B *OTUBMMTBVDFTBVTBHF w6TJOH$PNQPTFS • $ ./composer.phar install 13೥7݄15೔݄༵೔

Slide 26

Slide 26 text

B *OTUBMMSFTVMUT w*OTUBMMFETBVDFTBVTBHF BOEQIQVOJU QIQVOJUTFMFOJVN Loading composer repositories with package information Installing dependencies (including require-dev) [snip] - Installing phpunit/phpunit (3.7.22) Downloading: 100% [snip] - Installing phpunit/phpunit-selenium (1.3.1) Downloading: 100% [snip] - Installing sauce/sausage (v0.9.0) Downloading: 100% No Sauce config file found. Please run vendor/bin/sauce_config USERNAME API_KEY symfony/console suggests installing symfony/event-dispatcher () phpunit/php-code-coverage suggests installing ext-xdebug (>=2.0.5) phpunit/phpunit suggests installing phpunit/php-invoker (>=1.1.0,<1.2.0) sauce/sausage suggests installing sauce/connect (>=3.0) Writing lock file Generating autoload files 13೥7݄15೔݄༵೔

Slide 27

Slide 27 text

B /BUJWF"QQ%FNP 13೥7݄15೔݄༵೔

Slide 28

Slide 28 text

B 5BSHFU"QQ 13೥7݄15೔݄༵೔

Slide 29

Slide 29 text

B 4BNQMF$PEFpSTUIBMG 13೥7݄15೔݄༵೔

Slide 30

Slide 30 text

B 4BNQMF$PEFMBTUIBMG 13೥7݄15೔݄༵೔

Slide 31

Slide 31 text

B 3FGFSFODFT 13೥7݄15೔݄༵೔

Slide 32

Slide 32 text

B 1)16OJUEPDVNFOU • http://www.phpunit.de/manual/3.7/ja/selenium.html#selenium.selenium2testcase 13೥7݄15೔݄༵೔

Slide 33

Slide 33 text

B 4FMFOJVN8JLJ • http://code.google.com/p/selenium/w/list 13೥7݄15೔݄༵೔

Slide 34

Slide 34 text

B 5IF8FC%SJWFS8JSF1SPUDPM • http://code.google.com/p/selenium/wiki/JsonWireProtocol 13೥7݄15೔݄༵೔

Slide 35

Slide 35 text

B .ZXPSLJOHEPDVNFOU • http://bit.ly/phpunit-selenium2 13೥7݄15೔݄༵೔

Slide 36

Slide 36 text

B ඼࣭޲্ϒϩά • http://blog.trident-qa.com/2013/05/so-many-seleniums/ 5IJTCMPHJTOPUNJOF 13೥7݄15೔݄༵೔

Slide 37

Slide 37 text

B &YUFOEFE 13೥7݄15೔݄༵೔

Slide 38

Slide 38 text

B 4BVDF-BCT •https://saucelabs.com/ 13೥7݄15೔݄༵೔

Slide 39

Slide 39 text

B 5IBOLT 13೥7݄15೔݄༵೔