Web およびアプリの自動化のための UI ポジショニング テスト インタビュー ラダー

1. Web 要素を見つける 7 つの方法

優先される 6 つの
find_element_by_id (要素を返す)
find_element(s)_by_class_name (クラス名に基づいて要素のリストを取得する)
find_element(s)_by_name (タグの name 属性の値に基づいて、タグ オブジェクトを含む要素のリストを返す)
find_element(s)_by_link_text (リンク テキストに従って要素リストを取得する)
find_element(s)_by_partial_link_text (リンクに含まれるテキストに従って要素リストを取得する)
find_element(s)_by_tag_name (タグ名に従って要素リストを取得する) )
find_element(s)_by_css_selector cssセレクターに従って取得

最後の手段として使用される 2 つの find_element(s)_by_css_selector
(要素のリストを取得するための css セレクターによる)
find_element(s)_by_xpath (要素を含むリストを返す)

2. アプリ要素を見つける 3 つの方法


by_id
by_class_name
by_xpath

3. adb共通コマンド
adb help: adb --help

adb サービスを開始します: adb start-server

adb サービスを閉じます: adb kill-server

デバイス番号を取得: adb devices

システム バージョンを取得します: adb shell getprop ro.build.version.release

ファイルを携帯電話に送信する: adb push コンピュータのファイル パス/送信するファイル、携帯電話に保存されているパス

adb push C:\Users\win\Desktop\xx.png /sdcard
携帯電話からファイルをプル: adb pull 携帯電話のパス / ファイル名をプル コンピュータに保存されているファイルのパス

adb pull /sdcard/xx.png C:\Users\win\Desktop
携帯電話の実行ログを表示: adb logcat

電話端末に入ります: adb shell

アプリをスマートフォンにインストールします: adb install path/xxx.apk

モバイル アプリのアンインストール: adb uninstall app

アプリのスタートアップ パッケージ名とスタートアップ名を取得します (⚠電話は最初に対応するアプリを開く必要があります)

Mac/Linux: adb シェル dumpsys ウィンドウ ウィンドウ | grep mFocusedApp

Windows ターミナルで実行: adb shell dumpsys window w | findstr mCurrent

アプリの起動時間を取得: adb shell am start -W package name/.startup name

デバイスの IP アドレスを表示します。

adb shell ifconfig wlan0
adb shell netcfg
デバイスの CPU 情報を表示: adb shell cat /proc/cpuinfo

デバイスのメモリ情報を表示: adb shell cat /proc/meminfo

画面を明るくする: adb shell input keyevent 224

画面をオフにするには: adb shell input keyevent 223

  1. キーボード操作 よく使う機能
    send_keys(Keys.BACK_SPACE) 削除キー(BackSpace)
    send_keys(Keys.SPACE) スペースバー(Space)
    send_keys(Keys.TAB) タブキー(Tab)
    send_keys(Keys.ESCAPE) バックキー(Esc)
    send_keys (Keys.ENTER) Enter キー (Enter)
    send_keys(Keys.CONTROL,'a') すべて選択 (Ctrl+A)
    send_keys(Keys.CONTROL,'c') コピー (Ctrl+C)
    send_keys(Keys.CONTROL ,' v') すべて選択 (Ctrl+V)
    send_keys(Keys.CONTROL,'x') コピー (Ctrl+X)
    4. 一般的なマウス機能
    context_click() 右クリック --> このメソッドは、マウスの右クリックの効果をシミュレートします
    double_click ( ) ダブルクリック --> ダブルクリック効果をシミュレートするメソッド
    drag_and_drop() ドラッグ --> ダブルラベル ドラッグ効果をシミュレートするメソッド
    move_to_element() ホバー --> マウス ホバー効果をシミュレートするメソッド
    perform() 実行 - - > このメソッドは、上記のすべてのマウス メソッドを実行するために使用されます

  2. セレンの原理

  3. 全体のプロセスは: python --- http request ---> Chromedrive.exe --- js ---> browser

Python は requests ライブラリを介して http 要求を送信します. 要求を受信した後、ドライバーは対応するインターフェイスにアクセスし、いくつかのパラメーターを JS コードに変換し、dom、bom などを介してブラウザー操作を実行し、最後に対応するコンテンツを返します.パイソンに

6. apppium:複数の言語
で記述されたテスト スクリプトをサポートする、オープン ソースのクロスプラットフォーム UI 自動化テスト ツール .要求は、bootstrap.jar に転送されます。3. jar は appium コマンドを受け取り、UIAutomator コマンドを呼び出して操作を実装します4. 最終結果は、bootstrap.jar によって Appium サーバーに返されます。




7. フィクスチャ
1. unittest.TestCase クラスを継承する必要があり、setUp、tearDown はフィクスチャです;
2. setUp: 一般に初期化作業を行います
。ログアウト、ブラウザを閉じる
4. テスト クラスに複数のテスト開始メソッドがある場合、各メソッドが実行される前に setUp が実行され、最後に TeaDown が実行されます。

おすすめ

転載: blog.csdn.net/m0_57028677/article/details/128879103
おすすめ