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
Norio Suzuki
July 15, 2013
Technology
0
950
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
2
740
ふんわり使うPlantUML
suzuki
0
730
Symfony Serializer Deep Dive
suzuki
0
1.8k
How to walk in the Crowi
suzuki
6
15k
Swift Mailer Update
suzuki
2
2.2k
Guzzle Promiseを使った 非同期処理によるAPIコールの高速化
suzuki
15
15k
PHP BLT #4
suzuki
1
4.4k
Learning Swift2 with PHP7
suzuki
2
4k
ポモドーロ・テクニック入門の入門
suzuki
0
640
Other Decks in Technology
See All in Technology
Postman v10リリース後を振り返る
nagix
0
130
疲弊しない!AWSセキュリティ統制の考え方 #devio_osakaday1
masahirokawahara
6
5.9k
NLP2024 参加報告LT ~RAGの生成評価と懇親戦略~ / nlp2024_attendee_presentation_LT_masuda
taro_masuda
1
200
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
180
カオナビの利用実績をアウトカムへつなげる旅 / example-of-data-management-startup-in-kaonavi
kaonavi
0
120
オーナーシップを持つ領域を明確にする
konifar
11
2.4k
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
25
5.8k
ここが嬉しいABAC ここが辛いよABAC #再解説+補足編
masahirokawahara
0
220
Databricks におけるデータエンジニアリング
databricksjapan
0
380
Aurora MySQL v3(MySQL8.0互換)の オンラインDDLの罠挙動を全バージョンで検証した
yutakikai
1
150
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
9
2.1k
少数チームで挑む: SwiftUI, TCA, KMPを用いた 新規動画配信アプリ 「ABEMA Live」の開発について
tomu28
0
530
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
15
2.6k
The Language of Interfaces
destraynor
151
23k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
12
1.5k
RailsConf 2023
tenderlove
2
530
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
13
1.5k
Navigating Team Friction
lara
177
13k
Building Your Own Lightsaber
phodgson
98
5.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
646
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
243
20k
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݄༵