Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Appium with PHPUnit - short version -
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Norio Suzuki
July 15, 2013
Technology
0
1k
Appium with PHPUnit - short version -
Appium is Mobile App Test Tool.
How to use Appium by PHPUnit.
Norio Suzuki
July 15, 2013
Tweet
Share
More Decks by Norio Suzuki
See All by Norio Suzuki
リーダブル プルリクエスト 分割プルリクエスト編 / Readable Pull Request
suzuki
3
2.1k
ふんわり使うPlantUML
suzuki
0
1.4k
Symfony Serializer Deep Dive
suzuki
0
2.3k
How to walk in the Crowi
suzuki
6
16k
Swift Mailer Update
suzuki
2
2.5k
Guzzle Promiseを使った 非同期処理によるAPIコールの高速化
suzuki
15
17k
PHP BLT #4
suzuki
1
5k
Learning Swift2 with PHP7
suzuki
2
4.3k
ポモドーロ・テクニック入門の入門
suzuki
0
740
Other Decks in Technology
See All in Technology
AIエージェント×GitHubで実現するQAナレッジの資産化と業務活用 / QA Knowledge as Assets with AI Agents & GitHub
tknw_hitsuji
0
180
今日から始められるテスト自動化 〜 基礎知識から生成AI活用まで 〜
magicpod
1
110
ソフトバンク流!プラットフォームエンジニアリング実現へのアプローチ
sbtechnight
1
250
Cortex Code CLI と一緒に進めるAgentic Data Engineering
__allllllllez__
0
630
LINEヤフーにおけるAIOpsの現在地
lycorptech_jp
PRO
5
2.1k
Phase07_実務適用
overflowinc
0
1.5k
モジュラモノリス導入から4年間の総括:アーキテクチャと組織の相互作用について / Architecture and Organizational Interaction
nazonohito51
3
1.5k
イベントで大活躍する電子ペーパー名札を作る(その2) 〜 M5PaperとM5PaperS3 〜 / IoTLT @ JLCPCB オープンハードカンファレンス
you
PRO
0
190
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
建設DXを支えるANDPAD: 2025年のセキュリティの取り組みと卒業したいセキュリティ
andpad
0
160
頼れる Agentic AI を支える Datadog のオブザーバビリティ / Powering Reliable Agentic AI with Datadog Observability
aoto
PRO
0
260
SLI/SLO 導入で 避けるべきこと3選
yagikota
0
140
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
The agentic SEO stack - context over prompts
schlessera
0
710
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Thoughts on Productivity
jonyablonski
75
5.1k
The SEO identity crisis: Don't let AI make you average
varn
0
420
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Why Our Code Smells
bkeepers
PRO
340
58k
Designing for humans not robots
tammielis
254
26k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
840
Test your architecture with Archunit
thirion
1
2.2k
What's in a price? How to price your products and services
michaelherold
247
13k
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݄༵