2017-02-07 7 views
1

デスクトップやモバイルブラウザ、タブレット、さまざまなオペレーティングシステムのモバイルデバイスでスクリプトを実行するにはどうすればよいでしょうか?コマンドラインレベルで希望の機能をpybotに渡す方法

私はJenkins BuildステップでShellコマンドと同じものを使いたいと思います。それはJenkinsのホストとしてWindowsまたはLinuxサーバーの両方で動作するはずです。

答えて

3

あなたのテストスクリプトで使用できる変数として機能を定義し、これらの定義をargument fileに入れてください。引数ファイルにそれらを入れることで、誰もが同じ機能を一貫して使用することが保証されます。

たとえば、「android.args」という名前のファイルを作成し、その中でこのようなものを置く:

--variable desired_capabilities:platformName:Android,platformVersion:5.0 
--variable remote_url:http://localhost:1234 

することはできこれが好きかもしれない「desktop.ie.args」という名前の別のファイルを作成します。

--variable desired_capabilities:platformName:Windows,platformVersion:10.0 
--variable remote_url:http://localhost:1235 

...などすべての設定についてです。 ${desired_capabilities}を使用して、これらの機能をロボットテストで参照します。あなたは、このような異なるプラットフォーム上でテストを実行することができます

[Suite Setup] open browser 
    ... http://www.example.com 
    ... remote_url=${remote_url} 
    ... desired_capabilities=${desired_capabilities} 

:あなたも、シンプルな何かを行うことができるように

robot -A android.args my_test_suite 
robot -A desktop.ie.args my_test_suite 
... 

はさらに良いことに、あなたがロボットの周りに、独自のラッパーを作成することができ、例えば、

「mybot」は自動的に、最初の引数を取り、その名前を持つファイルおよび既知の場所にある「.args」サフィックスを探し、
mybot android my_test_suite 

は、引数「-A /パス/ /アンドロイドへを追加しますと.ar実際のロボットコマンドを実行しているときに「gs」と表示されます。

+0

いつものように貴重なアドバイスをいただきありがとう@ブライアン。非常に役立ちます。確かに、上で説明した引数ファイルを利用するためのテストを整理します。 –

1
pybot -v desired_capabilities:"deviceName:Android Emulator,platformName:Android,platformVersion:5.1,deviceOrientation:portrait,browserName:Browser,appiumVersion:1.5.3,deviceType:phone" -i mobile workspace\my_tests 

注:また、$ {}ブラウザを使用して値をパラメータ化し、スクリプトからやPython変数ファイルから、それに値を渡すことができます。

関連する問題