私はテストでSDとして働いています。私はAppiumオートメーションツールを初めて使用します。このツールは、環境を設定するのが非常に難しいです。
私は次のリンクを参照しました:: http://unmesh.me/category/appium/
このリンクは、コマンドラインからNode.jsとappiumをインストールするのに役立ちましたが、この正しい方法がわかりません。
コマンドラインから次のメッセージが表示されました:
mani-kandans-MacBook-Pro:platform-tools manikandan $ info:Appium v0.8.2へようこそ(REV e9cc66197ad6a3496322bd77a8699509fc761b69)info:Appium REST httpインターフェイスリスナーは0.0.0.0:4723情報で開始- socket.ioが開始されました
この後、私は何のアイデアも持っていません。テストケースを作成してAppiumで実行する方法は?
Appiumツールに関する知識を共有したい場合。案内してください。
パート1:-。ノードserver.jsを使用してappiumサーバーを起動したように見えます-ブラウザーでlocalhost:4723/wd/hub/status
にアクセスしてサーバーを確認できます。これによりサーバーのいくつかの詳細が返されます。すでにこれを行っています。
コマンド出力は、サーバーが起動されたことを確認する次のようになります。
info: Welcome to Appium v0.8.1 (REV ***********************************)
info: Appium REST http interface listener started on 0.0.0.0:4723
info - socket.io started
二部:-。次に、Selenium RCをPython、Java、またはc#、または任意の言語選択に使用します。私はc#を使用しましたが、これはテストに似た例です。
Seleniumをc#クラスに追加するには:using OpenQA.Selenium.Remote;
すべてのデータをSeleniumの必要な機能オブジェクトに渡します。次のようなカスタムの望ましい機能がいくつかあります。
接続したデバイスまたはAVDをコマンドとアプリに渡す「デバイスID」。インストールするapkへのローカルパスがあります。これは署名され、起動時にインストールされます。再署名されたアプリが既に存在する場合、これはスキップされます。
DesiredCapabilities caps = new DesiredCapabilities();
caps.SetCapability("app-package", "com.myapp.test");
caps.SetCapability("browserName", "");
caps.SetCapability("device", "Android");
caps.SetCapability("app-activity", "com.myapp.SplashActivity");
caps.SetCapability("takesScreenshot", true);
caps.SetCapability("version", "4.1.2");
caps.SetCapability("device ID", "uniquedeviceid");
caps.SetCapability("app", @"C:\path to\app\on\pc\app.apk");
作成する機能に従って、使用したハブURLを渡すリモートWebドライバーオブジェクトを作成します(例:http://localhost:4723/wd/hub
および作成したDesired Capabilities)。
RemoteWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4723/wd/hub/"), caps);
この行は、AppiumサーバーのIPまたはホストを使用して、要求のリッスンを開始します。私にとって、このステップは、接続されたデバイス上でアプリのインストールと起動に署名し、うまくいけば同じことができることを願っています。これは、作成するSeleniumテストがAppiumサーバーに接続される場所です。
作成されたdriver
オブジェクトを使用して、AppiumがAndroidテストの多くの代替を実装したSelenium rcコマンドにアクセスできます。これらのそれぞれの間に、Appiumサーバーのコンソールウィンドウに問題があるかどうかが表示されます。
出力はこのウィンドウからエラーを識別するのを助けるために色分けされますが、必要に応じてこれらを独自の方法で処理し、ファイルに出力できます。
複数のデバイスの更新複数のデバイスの使用について確信が持てないため、考慮する必要があります Seleniumグリッド 2を追加する以前の試みデバイスを1台のマシンに接続してテストすると、構成とコマンドへのデバイスIDの追加に関係なく、adbが区別できないという混乱が生じました。 Appiumチームは、サーバーにグリッド機能を追加するための改善を行っています。 Appium Grid (リンク更新)をご覧になることをお勧めします。
グリッドの経験が不足していることをおizeび申し上げます。
よろしく、ブライアン
返信が遅いようですが、この投稿はWindowsプラットフォームにAppiumをインストールするためのガイドバイステップを探している人を助けることができると思います
http://qaautomationworld.blogspot.in/2014/12/appium-setup-for-Android-windows.html
このリンクは主に次のセクションを扱っています
Appiumのインストール
a)node.jsを使用する
b)Appium.exeの使用
Appium Android用のenv.rbファイルを次に示します。
require 'rubygems'
require 'appium_lib'
# Start Android driver
apk = {
device: :Android,
app_path: (true && ENV['apk']) || 'path to apk',
app_package: (true && ENV['package']) || 'com.foo.cam',
app_activity: (true && ENV['activity']) || '.SplashActivity',
app_wait_activity: (true && ENV['activity']) || '.MainActivity',
}
Appium::Driver.new(apk).start_driver
Appium.promote_appium_methods Object
log = Logger.new(STDOUT)
case ENV['log']
when 'WARN'
log.level = Logger::WARN
when 'DEBUG'
log.level = Logger::DEBUG
when 'INFO'
log.level = Logger::INFO
when 'ERROR'
log.level = Logger::ERROR
when 'FATAL'
log.level = Logger::FATAL
when 'UNKNOWN'
log.level = Logger::UNKNOWN
else
log.level = Logger::DEBUG
end
log.debug('starting suite')
Before do
@test_env = {
device: driver,
main_activity: (true && ENV['main_activity']) || 'grid.GridLoginActivity',
logger: log
}
end
# Optional--clears alerts
After ('@rate_limit') do |scenario|
log = @test_env[:logger]
device = @test_env[:device]
if scenario.failed?
begin
wait = Selenium::WebDriver::Wait.new :timeout => 1
wait.until { device.alert_accept }
log.debug('cleared rate limit dialog')
rescue
log.error("dialog didn't pop.")
end
end
log.debug('rate_limit finished')
end
After ('@network_connection') do |scenario|
log = @test_env[:logger]
device = @test_env[:device]
if scenario.failed?
begin
wait = Selenium::WebDriver::Wait.new :timeout => 1
wait.until { device.alert_accept }
log.debug('cleared network connection issue')
rescue
log.error("dialog didn't pop.")
end
end
log.debug('network_connection finished')
end
Appiumを最初にインストールするには、すべての必要なツールをダウンロードします。
1)Android Studio
2)Java用のAppium Jarファイル
3)Java Selenium Client Plugin
4)Appiumサーバー
5)Java SDK
これらのツールをすべてダウンロードした後、このブログのステップバイステッププロセスの説明に従ってください==> AppiumのインストールプロセスAndroid Studio