Selenium for Mobile App Testing

すべての自動化開発およびテストエンジニアは、webアプリケーションのデファクトテストフレームワークである”Selenium”をよく認識しています。 変化するモバイル環境では、Appiumはモバイルアプリをテストするための最も使用されるフレームワークです。 しかし、モバイルアプリケーションテストにSeleniumを使用することは可能ですか? 直接の答えは”実際には”ではありませんが、この答えには長くて異なるアプローチがあります。

Appiumは、iOSとAndroid用のすべてのネイティブ、ハイブリッド、およびモバイルwebアプリをテストするために使用できる最も人気のあるモバイルアプリケーショ また、実際のデバイスと実際のブラウザでのテストを含むクロスブラウザテストにも使用されます。 事実、AppiumはSeleniumからルーツを持ち、Jsonwireprotocolを使用してSeleniumのwebdriverを使用してiOSおよびAndroidアプリと対話します。

Appium/Seleniumアーキテクチャ

典型的なアーキテクチャでは、AppiumはNodeで記述されたHTTPサーバーです。複数のWebDriverセッションを生成および処理するjs。 Appiumは、デバイス上でテストを開始し、メインAppiumサーバーからコマンドを取得します。 サーバーは主に、SeleniumクライアントライブラリからHTTP要求を取得するSeleniumサーバーと同じです。

以下の画像は、pCloudyプラットフォーム上でテストスクリプトを実行する方法を示す例です。 ここで’pCloudyでAppiumスクリプトを実行する方法’のビデオを見ることを忘れないでください。

Appium pCloudy

SeleniumとAppiumのテストフレームワークについて少し知ったので、Android app testingの新しい用語を理解しましょう–自動化されたアプリテスト用のSeleniumに基づ

つまり、Selendroidは複数のデバイスと同時に対話できるテスト自動化フレームワークであり、変更なしでテストできます。 また、ネイティブおよびハイブリッドモバイルアプリやモバイルwebをテストするための”Selenium for Android”とも呼ばれています。

私たちはSelendroidの機能のいくつかを見てみましょう:

a)それはオープンソースであり、
を使用して自由ですb)それはすべてのAndroidバージョンをサポートしています
c)それはスクリプト言語としてSeleniumをサポートしています
d)それはWebdriver互換の言語をサポートしています例えば:Perl、Java、C#
e)エミュレータと実際のデバイスの両方で動作することができます
f)すべてのネイティブ、ハイブリッド、webベースのアプリで動作します
g)selenium grid
をサポートしているため、ネイティブとクラウドベースのアプリを実行しながら効果的ですh)実装が非常に簡単です。
i)”Hotplugging”と呼ばれる機能により、新しいデバイスを自動的に認識することができます。
j)テストケースの開発を簡素化するためのインスペクタが組み込まれています。
k)Android API10からAndroid API19までのさまざまなAndroid APIバージョンをサポートできます。
l)ノードをSelenium gridに統合することにより、並列テストを完全にサポートできます。

Selendroidアーキテクチャ:
Selendroidは、Selenium2クライアントとも呼ばれるSelenium WebdriverクライアントAPIを使用してテストが書かれているAndroid Instrumentationフレームワークに基づいています。 したがって、既存のSeleniumフレームワークと完全に統合することができます。 それはJSONワイヤー議定書とまた互換性があります。
Selendroidのアーキテクチャを見てみましょう:

モバイルアプリのテストのためのSelenium

Selenium for Mobile App Testing

結論として、Seleniumは事実上のwebテスト自動化フレームワークとしての道を開き、AppiumはSelenium開発者が迅速に採用できる高レベルのApiを提供しており、テス

Leave a Reply