Appium Automation 自習編 - Appium Automation の初めての入門!

Appium 简介

携帯端末の普及に伴い、携帯電話アプリケーションの数も増加しており、その重要性はますます高まっています。私たちテスターも時代の波に乗り、モバイルアプリ関連のテストの学習に努める必要があります。この記事では、モバイル自動テストフレームワーク Appium について紹介します。では、Appium とは一体何なのでしょうか? 次に、自動テストのための Python+Selenium を学びましょう。

アピウムの概要

(1) アピウムとは

  • appium は、オープンソースのモバイル自動テスト フレームワークです。
  • Appium はネイティブ、ハイブリッド、モバイル Web プロジェクトをテストできます。
  • Appium は、iOS、Android アプリケーション (もちろん Firefox OS) をテストできます。
  • Appium はクロスプラットフォームであり、OSX、Windows、Linux デスクトップ システムで使用できます。

(2) Appiumの理念

  • 自動化のためにテスト アプリを再コンパイルしたり変更したりする必要はありません。
  • モバイル端末の自動テストは、特定の言語や特定のフレームワークに限定されるべきではありません。つまり、誰もが最も使い慣れており使い慣れている言語とフレームワークを使用して、モバイル端末の自動テストを行うことができます。
  • モバイル端末での自動テストのために車輪の再発明をしたり、驚愕の API セットを書き直したりする必要はありません。つまり、Webdriver プロトコルの API はすでに十分に優れており、それらを改善するだけで済みます。
  • 自動モバイルテストはオープンソースであるべきです。

(3)Appiumの設計思想

  • まず、理念の 2 つ目の「モバイル端末の自動テストを特定の言語や特定のフレームワークに限定せず、誰でも使い慣れた言語を使用してテストできる」を実現するためには、自動モバイル テストを行うためのフレームワークに慣れており、appium はクライアント/サーバー設計パターンを選択しました。クライアントが http リクエストをサーバーに送信できる限り、クライアントは任意の言語を使用してそれを実装できます。これが、appium と webdriver が複数の言語をサポートする方法です。
  • 第 2 に、車輪の再発明を行わず、モバイル端末の自動テスト用の一連の驚愕の API を書き直すという目標を達成できるようにするため、つまり、Webdriver プロトコルの API は十分に優れており、改善の余地があるということです。このアイデア、appium 拡張機能では、Webdriver プロトコルを採用したため、自分で再実装する必要はありません。これの利点は、以前の Web ドライバー API を直接継承でき、以前の Web ドライバーのさまざまな言語のバインディングをすぐに使用できるため、言語ごとにクライアントを開発する手間が省けることです。
  • 最後に、appium はもちろんオープンソースであり、哲学的思考の最後の点も実現しています。
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:310357728【暗号:csdn999】

(4) Appium の利点

  • サポートされている言語: Java、Python、node.js、c#、php、perl、ruby。
  • Android と iOS をサポートします。
  • クロスアプリケーションのサポート。

(5) Appiumの特徴

  • クロスアーキテクチャ、ネイティブ ハイブリッド WebView
  • クロスデバイス、Android iOS Firefoxos
  • クロスランゲージ、Java Python Ruby Nodejs php
  • クロスアプリ、複数のアプリ間で対話可能
  • ソースコードに依存しない
  • テストフレームワークとプラットフォームに制限なし

(6) Appium アーキテクチャ

  • Android は、インスツルメンテーションと uiautomator という 2 つのテクノロジ セットを使用します。
  • Appium は 4.1 以降で uiautomator を使用します
  • 4.1 以下のセレンドロイドを使用します
  • iOS での uiautomation の使用
  • Firefoxをサポート

iOS 上の Appium のアーキテクチャ:

Andiord 上の Appium のアーキテクチャ:

Appium の基本概念

(1) クライアント/サーバーのアーキテクチャ

appium のコアは実際には、一連の REST API を公開するサーバーです。このサーバーの機能は実際には非常に単純です。ポートをリッスンし、クライアントから送信されたコマンドを受信します。これらのコマンドを翻訳し、モバイル デバイスが理解できる形式に変換してモバイル デバイスに送信し、モバイル デバイスがこれらのコマンドを実行した後、実行結果を appium サーバーに返し、appium サーバーは実行結果をクライアントに送信します。

ここでのクライアントは、実際にはコマンドを開始するデバイスであり、一般的に言えば、コードが実行されるマシンと、appium テスト コードが実行されるマシンです。狭義のクライアントはコードとして理解でき、Webdriver の標準プロトコルを実装していれば、java/ruby/python/js などのコードを使用できます。この設計アイデアには、次のような利点があります。

  • 多言語サポートを実現できます。
  • サーバーは、クラウド サーバーを含む任意のマシンに配置できます (はい、appium と webdriver は当然クラウド テストに適しています)。

(2) セッション

セッションはセッションです。webdriver/appium では、すべての作業はセッションの開始後にのみ実行できます。一般に、セッションは POST /session URL によって開き、必要な機能を渡すことができます。

セッションを開いた後、グローバルに一意のセッション ID が返されます。このセッション ID は、開いたブラウザまたはモバイル デバイスのエミュレータを表すため、今後のほとんどすべてのリクエストでこのセッション ID が必要になります。

さらに考えると、セッション ID はグローバルに一意であるため、同じマシン上で複数のセッションを開始することが可能になり、これが Selenium Gird が依存する具体的な理論的基盤です。

(3) 求められる能力

Desired Capabilities には、いくつかの構成情報が含まれます。本質的に、これはキーと値の形式のオブジェクトです。 Javaではマップ、Pythonでは辞書、Rubyではハッシュ、JSではJSONオブジェクトとして理解できます。実際、Desired Capabilities は送信時には json オブジェクトになります。

Desired Capabilities の最も重要な役割は、このテストのコンテキストをサーバーに伝えることです。今回はブラウザテストを行うのでしょうか、それともモバイルテストを行うのでしょうか?モバイルテストの場合、Android または iOS でテストする必要がありますか? Android でテストする場合、どのアプリをテストする必要がありますか?これらのサーバーの望ましい機能の質問に答えなければなりませんが、そうでない場合、サーバーがそれを購入しなければ、当然モバイル アプリやブラウザの起動を完了できません。

(4) アプリサーバー

Appium Server は、コマンド ラインで appium コマンドを使用するたびに開きます。

(5) アプリクライアント

ネイティブ Webdriver API は Web 用に設計されているため、モバイル側で使用すると少し目立たなくなります。 Appium は、ruby/java/python の複数言語をカバーする appium クライアントのセットを公式に提供していますが、私の意見では、ruby クライアントが最良の実装です。テスト中、これらのクライアント ライブラリは通常、ネイティブ Web ドライバー ライブラリを置き換えるために使用されます。これは実際には代替品ではありません。ネイティブ Web ドライバーにいくつかのモバイル拡張機能を作成し、スワイプなどの便利なメソッドを追加したクライアントです。appium クライアントを使用すると、より読みやすいテスト ケースをより便利に作成できます。

(6) Appium.app、Appium.exe

appium サーバーの GUI バージョン。前者は osx で使用され、後者は Windows で使用されます。視覚化、ノードのインストール不要、アプリの UI 構造が確認できることがこのもののセールスポイントです。

アピウムとセレン

  • Selenium2 は Selenium Webdriver とも呼ばれます
  • Appium クライアントは Selenium の WebDriver API を拡張します
  • Appium Server は、Selenium に存在するほとんどのメソッドを実装しており、Selenium のサードパーティ Web ドライバーです。

Appium環境のセットアップ

appium を学習する際の最大の困難の 1 つは、環境のインストールです。インストール プロセスは比較的面倒で、インストールするためのツールや手順がたくさんあります。以下は、Windows システムをベースにした Android 携帯電話へのインストール プロセスです。 Web オートメーション テストに Selenium を使用する場合と同様に、テスト スクリプトを実行するにはブラウザが必要です。したがって、モバイル オートメーションのテストには、Android スマートフォン (スマートフォンはコンピュータに接続されている必要があります) または Android エミュレータも必要です。

次のセクションでは、Appium の環境を構築し、JDK をインストールして使用します。

最後に、私の記事をよく読んでくださった皆様に感謝申し上げます。ファンの増加と注目度を見ると、常に一定の礼儀が存在します。それほど価値のあるものではありませんが、使用できる場合は直接受け取ることができます!

ソフトウェアテスト面接文書

私たちは高給の仕事を見つけるために勉強しなければなりません。以下の面接の質問は、アリババ、テンセント、バイトなどの一流インターネット企業の最新の面接資料からのものであり、バイトの上司の中には権威ある回答をしている人もいます。 set 面接情報に基づいて、誰もが満足のいく仕事を見つけることができると思います。
 

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/IT_LanTian/article/details/134934664