Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Appium with PHPUnit - short version -
Search
Norio Suzuki
July 15, 2013
Technology
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Appium with PHPUnit - short version -
Appium is Mobile App Test Tool.
How to use Appium by PHPUnit.
Norio Suzuki
July 15, 2013
More Decks by Norio Suzuki
See All by Norio Suzuki
リーダブル プルリクエスト 分割プルリクエスト編 / Readable Pull Request
suzuki
3
2.3k
ふんわり使うPlantUML
suzuki
0
1.5k
Symfony Serializer Deep Dive
suzuki
0
2.4k
How to walk in the Crowi
suzuki
6
16k
Swift Mailer Update
suzuki
2
2.6k
Guzzle Promiseを使った 非同期処理によるAPIコールの高速化
suzuki
15
17k
PHP BLT #4
suzuki
1
5.3k
Learning Swift2 with PHP7
suzuki
2
4.3k
ポモドーロ・テクニック入門の入門
suzuki
0
780
Other Decks in Technology
See All in Technology
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
500
AWSセキュリティで活用するAI機能
cmusudakeisuke
1
340
AIで選択肢が広がった組織設計の理想と現実
konifar
15
6.6k
Obsidian Vault Architectures
x5gtrn
PRO
0
190
ガチで放置できるClaude Code実行環境の作り方.pdf
lamaglama39
5
9.9k
演劇と私とスクラム
chinmo
0
160
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
130
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
220
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
220
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
0
130
クラウドサインを止めずに Nuxt へ 次の10年のために先に決めたこと
bengo4com
1
170
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
150
Featured
See All Featured
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
960
Abbi's Birthday
coloredviolet
4
10k
Designing for Performance
lara
612
70k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
470
Designing for Timeless Needs
cassininazir
1
530
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Building AI with AI
inesmontani
PRO
1
1.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.4k
Skip the Path - Find Your Career Trail
mkilby
1
260
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
Fireside Chat
paigeccino
43
4.1k
Transcript
"QQJVNXJUI1)16OJU TIPSUWFSTJPO !TV[VLJ 1)1.BUTVSJ4BQQPSP B 137݄15݄༵
B "CPVUNF w5XJUUFS!TV[VLJ w(JU)VC 7JNFP 6TUSFBNTV[VLJ w8FC/JLLJIUUQTV[VLJUEJBSZOFU IUUQHJIZPKQMJGFTUZMFTFSJBMFWFOUTUSFBNJOH 137݄15݄༵
137݄15݄༵
B .FNCFSPG$BLF1)1(JU)VC https://github.com/cakephp?tab=members #VU POMZDBOQVTIEPDSFQP 137݄15݄༵
B "CPVUUIJTTFTTJPO 137݄15݄༵
B "QQJVN http://appium.io/ 137݄15݄༵
B 4UFQT w4UFQ w 4FUUJOHJ044JNVMBUPS w4UFQ w 4FUUJOH)PNFCSFX /PEFKT w4UFQ
w 4FUUJOH"QQJVN w4UFQ w 4FUUJOH1)1DPNQPOFOUT 137݄15݄༵
0WFSWJFX .BD049 1)1 "QQJVN J044JNVMBUPS 4BVDFa4BVTBHFa8FC%SJWFS5FTU$BTF FYUFOEFE 1)16OJU@&YUFOTJPOT@4FMFOJVN5FTU$BTF 1)16OJU 137݄15݄༵
B 4UFQ 4FUUJOHJ044JNVMBUPS 137݄15݄༵
B *OTUBMMJ044JNVMBUPS w%PXOMPBE9DPEFGSPN.BD"QQ4UPSF w4LJQUIJT JOUIJTUBML 137݄15݄༵
B 4UFQ 4FUUJOH)PNFCSFX /PEFKT 137݄15݄༵
)PNFCSFX w5IFNJTTJOHQBDLBHFNBOBHFSGPS049 • http://mxcl.github.io/homebrew/ w*OTUBMM • ruby -e "$(curl -fsSL
https://raw.github.com/mxcl/homebrew/go)" Homebrew B 137݄15݄༵
/PEFKT w'PSFBTJMZCVJMEJOHGBTU TDBMBCMFOFUXPSL BQQMJDBUJPOT w IUUQOPEFKTPSH B 137݄15݄༵
B *OTUBMM/PEFKT w#Z)PNFCSFX • $ brew install node w"OPUIFSXBZ CZQBDLBHFPSUBSCBMM
w :PVDBOHFUCJOBSJFTCZhttp://nodejs.org/download/ 137݄15݄༵
B 4UFQ 4FUUJOH"QQJVN 137݄15݄༵
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]
) 137݄15݄༵
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 137݄15݄༵
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 **** $ $ <key>system.privilege.taskport</key> $ $ <dict> $ $ $ <key>allow-root</key> ! $ $ $ <false/> $ $ $ <key>class</key> $ $ $ <string>user</string> $ $ $ <key>comment</key> --- 8232,8238 ---- $ $ <key>system.privilege.taskport</key> $ $ <dict> $ $ $ <key>allow-root</key> ! $ $ $ <true/> $ $ $ <key>class</key> $ $ $ <string>user</string> $ $ $ <key>comment</key> prompt: Make changes? [y/n] : y Wrote new /etc/authorization Authorization successful 137݄15݄༵
B 3VO"QQJVN w3VO • $ appium 137݄15݄༵
B 4UFQ 4FUUJOH1)1DPNQPOFOUT 137݄15݄༵
$PNQPTFS w%FQFOEFODZ .BOBHFSGPS1)1 w IUUQHFUDPNQPTFSPSH B 137݄15݄༵
B *OTUBMM$PNQPTFS w(FU$PNQPTFS • $ curl -sS https://getcomposer.org/installer | php
-d detect_unicode=off 137݄15݄༵
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 137݄15݄༵
B *OTJEF$PNQPTFSKTPO w0OMZUIFGPMMPXJOH { "require": { "sauce/sausage": ">=0.6.0" } }
137݄15݄༵
B *OTUBMMTBVDFTBVTBHF w6TJOH$PNQPTFS • $ ./composer.phar install 137݄15݄༵
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 137݄15݄༵
B /BUJWF"QQ%FNP 137݄15݄༵
B 5BSHFU"QQ 137݄15݄༵
B 4BNQMF$PEFpSTUIBMG 137݄15݄༵
B 4BNQMF$PEFMBTUIBMG 137݄15݄༵
B 3FGFSFODFT 137݄15݄༵
B 1)16OJUEPDVNFOU • http://www.phpunit.de/manual/3.7/ja/selenium.html#selenium.selenium2testcase 137݄15݄༵
B 4FMFOJVN8JLJ • http://code.google.com/p/selenium/w/list 137݄15݄༵
B 5IF8FC%SJWFS8JSF1SPUDPM • http://code.google.com/p/selenium/wiki/JsonWireProtocol 137݄15݄༵
B .ZXPSLJOHEPDVNFOU • http://bit.ly/phpunit-selenium2 137݄15݄༵
B ্࣭ϒϩά • http://blog.trident-qa.com/2013/05/so-many-seleniums/ 5IJTCMPHJTOPUNJOF 137݄15݄༵
B &YUFOEFE 137݄15݄༵
B 4BVDF-BCT •https://saucelabs.com/ 137݄15݄༵
B 5IBOLT 137݄15݄༵