2017-03-21 4 views
-4

私は自分のキーワードをpythonで作りたいです。どうすればpythonとrobotframeworkを接続できますか?私は自分の関数でpythonライブラリ/ファイルをインポートする必要があることを知っています。しかし、どのようにスクリプトとselenium webdriverを接続できますか?pythonとrobotframeworkを組み合わせる方法

例: ロケータを必要としないボタンだけを押す機能が必要です。 私はそれのためにセレンのwebdriverを使用しています。 2人のwebdriversを呼び出すことなくどのように使用できますか?

私はロボットのテストを持っている:

test something -> my_own_keyword -> more robot tests 

私が持っているのpython file.py」私はロボットに私のpython +セレン機能を動作させるために必要

def press_button(button): 
    ... 
    ... 

ために

+0

を持っていますそれはあなたを理解することは非常に困難です。あなたが実装したい、あるいは少なくとも疑似コードを貼り付けた場所に、あなたの 'Python'コードを提供できますか? – Andersson

+0

私はコードを持っていません。 私にはロボットテストがあり、selenium2libraryにはない機能をいくつか追加する必要があります。 新しいキーワードを作るためにpython + selenium webdriverを使いたいです。 しかし、セレンのwebdriverではwebdriverと呼んでいます。私は既にrobotframeworkによって作成されたものを使いたいと思います。私は理解しにくいです。 – mirko

+1

これはすべて、ロボットフレームワークのユーザガイドで非常にうまく説明されています。 http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#creating-test-libraries –

答えて

1

へ。カスタムライブラリの開発を開始するには、Robot Framework自体をよく理解しておくとよいでしょう。これはどのようなアプローチでも変わりありません。それを拡張する。

既存のライブラリを拡張する場合も同様です。あなたがプログラミングしようとしているプログラミング言語を理解するだけでなく、拡張しようとしているライブラリを理解する必要があります。

上記のアイテムが適切に配置されている場合のみ、実際にあなたが目指しているものを構築することが期待できます。

プレーンなRobot FrameworkとSelenium2Libraryを組み合わせて理解し、Pythonをよく理解している場合は、次のことをお勧めします。

  1. Python開発環境をセットアップします。私。 PyCharmまたはPyDev(Eclipse)をインストールし、Hello Worldの例で動作するPython環境が動作していることを確認してください。
  2. Python Virtual Environmentを理解してセットアップしてください。
  3. 新しいプロジェクトを作成し、標準のRobot Frameworkライブラリを開発します。 PythonデバッガでPythonコードをデバッグできることを確認してください。 REDPyDevという拡張機能がインストールされているEclipseで作業しているときは、このguideを使用して設定できます。
  4. PIPを使用してPythonからSelenium2Libraryをアンインストールします。 Python IDEで新しいプロジェクトを作成し、新しいプロジェクトのGitHubからSelenium2libraryコードをダウンロードして抽出します。 python /.../Selenium2Library/setup.py developを使用して開発モードでSelenium2Libraryをインストールします。これにより、既存のコードを調整し、再インストールする必要なくPythonでアクティブにすることができます。

この時点以降は、独自の機能を試してみることをおすすめします。独自のバージョンのみを本番環境で使用することをおすすめします。この欠点は、Selenium2ライブラリの更新には、独自のコードをマージする必要があることです。

ただし、新しいライブラリ拡張を作成する場合は、それを行う方法についてExtended Selenium2Libraryからインスピレーションを得てください。これにより、マージせずにすべての更新を使用することができます。ただし、新しいライブラリを作成するために若干のオーバーヘッドが必要になります。

+2

最初に私はすでにこのすべてのセットを持っているということです。 次に、AngularJSの同期化のサポートと必要なその他の機能を提供するため、この拡張セレンライブラリを使用しています。 自分のプロジェクトにインポートするために自分の関数が必要になりました。 私はBryanの助言からPageオブジェクトライブラリを使用しますが、あなたの答えに感謝します。 – mirko

0

ロボットファイルの[設定]にライブラリのパスを入力するだけです。その後

*** Settings *** Library ./libraries/extendedLibrary.py

extendedLibrary.py

そのファイルに新しいキーワードを作成

def Capitalize_String(string): string = string.capitalize() return string

あなたはロボットファイルに独自の新しいキーワードを使用することができます。

${string_with_capitals}= Capitalize_String all small letters

その結果、あなたは「すべての小文字」に等しいロボットフレームワークstring_with_capitalsにおける変数

関連する問題