Appium使用説明書


ドライバー、株式会社参加無料
#要素の位置決め
driver.find_element_by_idを( "ID")#IDは位置決め
driver.find_element_by_name( "名前")#名位置決め
driver.find_element_by_link_text( "テキスト")#リンク名の位置決め
要素によってdriver.find_element_by_partial_link_text( "テキスト")#目に見えるリンクテキスト位置決めの一部
driver.find_element_by_tag_nameのHTMLのタグを検索して(「名前」)#名位置決め要素
突き止めるdriver.find_element_by_xpath(「のXPath」)#パス
driver.find_element_by_class_name(「android.widget.LinearLayout」)#クラス名位置決め
ドライバ位置決め.find_element_by_css_selector( "CSS")#CSSのセレクタ

設定位置決め要素の#の複数の
セットにおけるdriver.find_elements_by_id( "ID")#IDは要素
driver.find_elements_by_name( "名称")が設定#名要素
driver.find_elements_by_link_text( "テキスト")コレクションの#リンク名要素
driver.find_elements_by_partial_link_text(「テキスト」)#いくつかの要素見えるリンク集
driver.find_elements_by_tag_name( "名前")#htmlのタグ名を設定
driver.find_elements_by_xpath( "のxpath")#測位パス設定
driver.find_elements_by_class_name( "android.widget.LinearLayout")#クラス名場所が設定され
driver.find_elements_by_css_selectorを( "CSS") #CSSを選択し配置セット

#入力ボックス
driver.element.send_keys(「イギリス」)

ロック画面
driver.lock(5)

バックグラウンドにおける現在のアプリケーション
driver.background_app(5)

収納キーボード
driver.hide_keyboard ()

活性またはアプリケーションを開くだけアンドリュース端
driver.start_activity(「com.example.android.apis」、「.fooという」)

ドロップダウン通知バーAndroidのみ開く
driver.open_notifications()

要素#ドラッグ要素ターゲット要素のdestination_elの上にorigin_el
driver.drag_and_drop(セルフ、origin_el、destination_el):

#インストールアプリかどうかをチェックします
driver.is_app_installed( 'com.example.android.apis')

は、器具に取り付けられている
driver.install_app( 'パス/ TO / my.apk')

削除アプリケーション
driver.remove_app( 'com.example.android.apis')

#アナログデバイスは振盪
driver.shake()


アプリケーション閉じ
driver.close_appを()

開始(起動)
セッション(セッション)を開始するキーワード(所望の機能)に応じ#サービス。自動起動= falseのキーワードを設定するときに、これが有効にならなければならないことに注意してください。
#これは、指定されたアプリ/活動を開始されていない----あなたは----この効果start_activity達成するために使用することができます
。これは、偽のキーワード(起動)プロセスの自動起動=初期化を継続して使用するために使用される#を。
driver.launch_app()

は、再アンインストールに相当する、アプリケーションをリセット
driver.reset()

可能なコンテキスト(文脈)が利用可能なすべてのコンテキストを示しています
コンテキストは、アクセスウィンドウとして理解することができます。#NOTEを翻訳します。たとえば、ネイティブアプリケーションは、利用可能なコンテキストとデフォルトのコンテキストにNATIVE_APPです。
詳細は#、ハイブリッドアプリケーションの自動テストを参照
driver.contextsを

#リストの現在のコンテキスト
driver.current_context

デフォルトのコンテキスト(文脈)へ#スイッチ
#スイッチコンテキストのデフォルトのコンテキストに
driver.switch_to.context(なし)

#文字列取得アプリケーション
driver.app_strings

デバイスへ#キーイベント(キーイベント)キーイベント送信
driver.keyeventを(176)

取得し、現在のアクティビティ
driver.current_activityの

#タッチ操作(TouchAction)/マルチタッチ操作(MultiTouchAction)
アクション= TouchAction(ドライバ)
action.press =、X = 10(EL素子。Y = 10).release() ()を実行

スライディング#スライド(スワイプ)アナログ加入者
#注:appium計算尺は、左から右へのx増加で、上から下へのy増加
driver.swipeは(= 75開始します= 500 startYと、ENDX = 75、ENDY = 0、DURATION = 800)

ニーダー(ピンチ)は画面を狭めるに移動する(2本の指で画面を混練)
driver.pinch(= EL素子)

#増幅(ズーム)画面を拡大(ビス)画面を拡大するために外向きに移動する意味
driver.zoom(= EL素子)

#は、要素(スクロールする)上にスライド
TODO:Pythonの

#は、デバイスからの文書(PULLファイルを)引っ張る
driver.pull_file(「ライブラリ/アドレス帳/ AddressBook.sqlitedb」)

デバイスファイルに#プッシュ
データ=「いくつかのデータ"のファイル
パス=" /data/local/tmp/file.txt "
driver.push_file(パス、data.encode( 'Base64では'))

がアサート
「私はdiv要素だ(Assert.assertEquals"を 、div.getText( )); //特定のページにジャンプし、それが要素のidと相互作用ページ

#が期待に沿ってテキストをチェックするかどうかを
assertEqual(、div.text)「私はdiv要素AM」

、trueとfalseを返すための活動のための#入力方法
is_ime_activeを(セルフ):

は、現在利用可能な入力デバイスを返すアンドリュース
driver.available_ime_engines(セルフ):

入力はアンドリュース現像装置アクティブにする
:driver.activate_ime_engine(セルフ、エンジンを)

#は現在のインプットメソッドを終了します(アンドロイド)
(driver.deactivate_ime_engineを自己):

#オープン位置特定デバイスは、Android上に配置されました
driver.toggle_location_services()

は、デバイスの緯度及び経度設定
argsは:
-緯度緯度-文字列または数値と90.00 -90.0 BETWEEN
-経度経度-文字列または数値と180.0 -180.0 BETWEEN
-標高の標高-文字列または数値の
使用ドライバ.set_location(緯度、経度、高度)

#クリック
element.click()

元素コンテンツ削除
element.clear()

を要素のテキストコンテンツを返し
element.text()

フォーム提出
element.submit(セルフ):

要素が利用可能です
element.is_enabled()

任意の要素かどうか
element.is_slected()

要素が見える
element.is_displayed()

は、素子サイズ(高さと幅)を取得
new_size [ "高"] =サイズ[ "高"]
new_sizeの[ "を幅"] =サイズ["幅「]
driver.element。サイズ

左上隅の要素#1の座標取得
#利用driver.element.locationを
「復帰要素は、x座標、int型」「」「」
driver.element.location.get(「X」)
yに戻り、要素の座標「」」、INTタイプ'' '
driver.element.location.get(' Y「)

は、現在の要素のスクリーンショットBase64でエンコードされた文字列取得
img_b64 = element.screenshot_as_base64

#JS実行
#現在のウィンドウ/フレーム(特にたHTML IFRAME)を同期javascriptのコード実行
driver.execute_script(「document.title」)
非同期に他のコードの実行中にコードを実行
driver.execute_async_script(「document.title」)

現在のURLを取得
driver.current_urlの

#は、取得ページのソース
driver.page_sourceの

#は現在のウィンドウを閉じます
driver.close()


アプリケーション閉じ
driver.quitを()

クローム#でテスト
{
'PlatformName''アンドロイド'、
'platformVersion': '4.4'
'DEVICENAME': 'アンドロイドエミュレータ'、
'BrowserName': 'クロム'
}

#実際のテスト
{
'automationName': 'Selendroid'、
'PlatformName': 'アンドロイド'、
'platformVersion': '2.3'、
'DEVICENAME': 'Androidのエミュレータ'、
'アプリケーション':て、myApp、
'appPackage': 'com.mycompany.package'、
'appActivity': '.MainActivity'
}

#のマルチタッチ
"" "
仕様使用可能なイベント:
*プレス(プレス)
*リリース(解放)
(のmoveTo)に*移動
*(TAP)をクリックします
*(待機を)待っている
*プレス(longPress)
※中止(キャンセル)
*実行(実行)
"" "



5。8サーバーパラメータ
Appiumサーバパラメータを

使用する:ノード[フラグ]
サーバフラグは

すべてのフラグはオプションであり、いくつかの兆候を反映するために一緒に組み合わせる必要があります。

<expand_table>
フラグデフォルト説明例
REPLにNULLモード--shell
のみ--localizable-ストリング-DIR en.lproj IOS : 相対パス--localizable-ストリング-DIR en.lproj .stringsディレクトリ位置
--appヌルIOSの絶対に基づいて、またはアプリケーションをコンパイルしたデバイスシミュレータを標的bundle_id;アンドロイド:APKファイルの絶対パス/abs/path/to/my.app - APP
--ipaヌル(IOSのみ).ipaファイル--ipa /abs/path/to/my.ipa絶対パス
-U、物理デバイス接続が1adsf-sdfas-ASDFヌル一意のデバイス識別子を--udid --udid-123sdf
-a、--address 0.0.0.0を監視IPアドレス0.0.0.0 --address
-p、--port 4723 4723リスニングポート--port
-ca、ヌルコールバック-コールバック・アドレスのIPアドレス(デフォルト:同じIPアドレス)--callbackアドレス127.0。 0.1
-cp、ポートヌルコールバック-コールバックポート番号(デフォルト:同じポート番号) -コールバックポート4723
-bp、ポート番号--bootstrapポート4724(アンドロイドのみ ) 接続装置--bootstrap-ポート4724
-k、偽--keep-アーティファクトは、無効と廃止予定。各実行は、ディレクトリ内の情報が消去されます前に、トレース情報は現在、tmpディレクトリに予約されています。また、--trace-dirのを参照してください。
-r、--backend-リトライ3(IOSの -only) 遭遇クラッシュまたはタイムアウト、機器の再起動の数。3-再試行が--backend
--session偽(競合場合)オーバーライドセッションをカバーできます
--full-RESETの偽(iOS版)が全体のシミュレータディレクトリを削除します。アプリケーション状態をリセットする(代わりにデータはクリアする)アプリケーションをアンロードして(アンドロイド)。セッションが完了した後にAndroidでは、アプリケーションが削除されます。
;:--no-リセット偽のセッション、アプリケーションの状態(アンドロイド:.は、セッションの新しいアプリケーションを作成する前に削除されませんplistファイル・アプリケーションを削除しないのiOS)間ではリセットされません
最初に偽--pre-起動し、-lを最後のセッション、プリブートアプリケーション(iOSのは、--appパラメータを必要とし、Androidが--app-PKG-活動と--appを必要とする)
-lt、--launchタイムアウト90000(iOS版のみ)楽器を開始する時間待っ
-gを、指定されたログファイル/path/to/appium.log --logにヌル出力を--log
:デフォルト([:ファイル]コンソール); --logレベルデバッグログレベルデバッグ[:デバッグ] --logレベルデバッグ
虚偽表示の端子に出力するタイムスタンプで--log-タイムスタンプ
使用--local-タイムゾーン偽のローカルタイムスタンプ
の表示色--log-NO-色偽の出力端子ではありません
9876:-G、--webhookヌルが同時にローカルホストHTTPリスナー--webhookにログを送信
--native-Instruments- libに偽(iOS版のみ)のiOSは、遅延を避けるために、奇妙なことは不可能を構築しました。我々はAppium年でそれを修正しました。あなたは、元を使用したい場合は、このパラメータを使用することができます。
--app-PKGのヌル(アンドロイドのみ )Javaのパッケージには、あなたは、APKを実行したいです。(例えば、com.example.android.myApp)--app-PKGのcom.example.android.myApp
場合--app活性ヌル(アンドロイドのみ ) アプリケーションを開くために、(例えば、MainActivity)アクティビティ名を開始-アプリ・アクティビティMainActivityの
パッケージ名--app-待機パッケージ(アンドロイド偽 -only) あなたはの活動のために待ちたいです。(例えば、com.example.android.myapp) - APP-待機パッケージ変更com.example.android.myappについて
- APP-待機活動偽(アンドロイド専用)を使用すると、アクティビティ名を待ちたい(例えば、SplashActivity) - -app-待機活動SplashActivity
--androidカバレッジ偽(アンドロイドのみ ) 計装クラス条件に完全に準拠。-eカバレッジ真-wパラメータカバレッジcom.my.Pkgの-w adbのシェル午前機器をコマンドとして-アンドロイド/ com.my.Pkg.instrumentation.MyInstrumentation
AVDが起動する(アンドロイド専用)ヌル--avd名前
(アンドロイドのみ--avd-引数ヌル ) AVD AVD負荷スナップショット--- -no-引数を開始するために追加のパラメータを追加する
--deviceレディタイムアウト5(アンドロイドのみ)準備デバイスを待ちます。時間、秒のタイムアウトで5-READY ---デバイス
- falseにサファリ(IOS-のみ)とSafariのアプリケーション
--device名に使用されるiPhoneのRetinaがnullモバイルデバイス--device名の名前を(4インチ) 、Androidのエミュレータは、
名前の--platform名nullのモバイル・プラットフォーム:iOSの、アンドロイド、またはFirefoxOS --platform -name iOSの
バージョン--platformバージョンヌルモバイルプラットフォームのバージョン7.1 ---プラットフォーム
--automation名ヌル自動化ツール名前:AppiumまたはSelendroid --automation名Appium
--browser名ヌルモバイルブラウザに名前を付ける:サファリやChrome --browser名サファリ
--default-デバイス、-DD偽(IOS-シミュレータのみ)は、独自のデフォルトのシミュレータを起動するために楽器を使用
--force-iphone偽(iOS版のみ)に関係なく、シミュレータを使用するためにどのようなアプリケーション、iPhoneシミュレータを使用するように強制
偽--force-のiPad(iOS版のみ ) どんなシミュレータアプリ、iPadのシミュレータの必須使用使用しない
--languageヌルのiOS / Androidの--language EN言語シミュレータ
はen_USは、Android --locale IOSのシミュレータ/エミュレータヌルロケール--locale
--calendarフォーマットヌル(IOSのみ)のiOSシミュレータ--calendarフォーマットグレゴリオカレンダー形式
--orientationヌル(IOS-のみ)初期化要求、景観(ランドスケープ)やポートレート(縦長)--orientation景観を使用すると、
ファイルtracetemplate --tracetemplate /ユーザ/ ME /オートメーションを指定するために使用--tracetemplateヌル(IOS-のみ)楽器.tracetemplate
セット、iOSの端末エミュレータのログが書き込まれる場合(IOS-のみ)falseに--show-SIMログ
(IOS偽IOS-ログ--showのみの) 設定されている場合、IOSシステムログ端末がアップ書き込まれる
--nodeconfigヌルことでセレングリッドにappiumd --nodeconfig / ABSを登録するために使用される、JSON形式のコンフィギュレーションファイルを指定します/path/to/nodeconfig.json
-ra、--robot 0.0.0.0ロボット・アドレス・アドレス、IPアドレス0.0.0.0 --robotの
-rp、-1ロボット--robotポートのポートアドレス--robotポート4242
--selendroidポート8080をローカルポートとSelendroid --selendroidポート8080と対話するために使用されて
実行されているChromeDriver 9515 --chromedriverポート9515 --chromedriverポートポート
--chromedriver実行可能ヌルChromeDriver実行ファイルのフルパスを
--use-ストア偽(アンドロイドは-のみ ) キーストアの署名APK設定
--keystoreパスする(Androidのみ)キーストアパス
--keystoreパスワードアンドロイド(Androidの専用 )キーストアパスワードを
--keyエイリアスandroiddebugkey(アンドロイド専用)キーの別名
--key-パスワードのアンドロイド(Androidの-のみ )キー、パスワード
、その後--show-config設定偽Appiumプリントサーバーの設定情報、終了
--no-パーマチェック偽スキップAppiumを読み取り/書き込みかどうかをチェックし、必要な書類
--command-タイムアウト60は、(タイムアウトが自動的にセッションを閉じるには、新しいコマンド内に受信されません)コマンドはすべてのデフォルトのセッションタイムアウトを受け取ります。新しいタイムアウトが上書きされます
--keep-キーホルダーを偽(iOSの)ときAppiumの起動やキーホルダー(ライブラリ/キーホルダー)を保持するかどうかのシャットダウン
選択したデバイスが認識されない有効なデバイスappiumある場合--strict-キャップが偽、これは、セッションが失敗する原因になります
それは他のアナログデバイスを削除する場合は、特定のシミュレータは唯一のいずれかのエラーが存在しない状態で確立することができるいくつかのプラットフォーム上で、ある、バグがある偽のXcode 6 --isolate-SIM-デバイスを。このオプションは、Appiumは、他のすべてのデバイスに加えて使用されているデバイスを削除しなければならなかった原因。これは永久的な削除であることに注意してください、あなたはAppiumを使用するデバイスの管理カテゴリsimctlかのXcodeを使用することができます。
--tmpヌルAppiumは、ディレクトリ(絶対パス)などのアプリケーションが動きを格納する必要が内蔵されたiOSのように一時ファイルを、管理するために使用することができます。デフォルトの変数は、* nixの/ Mac用で、APPIUM_TMP_DIRある彼らはTEMPディレクトリを設定するように、Windows上の/ tmp環境です。
、絶対パスをappiumディレクトリのiOS搭載機器のトレースを格納するための--trace-dirのヌル、デフォルトでは、<tmpのディレクトリ> / appium-楽器です
意図アクション--intentアクションandroid.intent.action.MAIN --intent-アクションandroid.intent.action.MAIN(アンドロイド専用) の活動活性化のための
--intent-カテゴリandroid.intent.category.LAUNCHERを(アンドロイド意図カテゴリは-only)--intentの活動カテゴリandroid.intent.category.APP_CONTACTS開始するために使用
--intentフラグフラグ0x10200000(--intentの0x10200000活性アンドロイドのみ)開始フラグ
--intent-引数ヌルを(追加のパラメータは、意図--intent-引数の0x10200000活動のAndroidのみに付属)を開始
偽--suppress-ADB-殺すサーバ (アンドロイド専用) Appiumはadbのインスタンスを殺す防ぐために設定した場合。




おすすめ

転載: www.cnblogs.com/ly570/p/11014105.html