chromeブラウザを初期化するためのpythonコードを作成しました。このドライバインスタンスをRobot Frameworkに渡して、RFのキーワードがこのインスタンスで機能するようにします。どうすればいいのか教えてください。 ファイルをintializingためのPyのコードは次のとおりです。ロボットフレームワークでそれを使用するときにRobot Framework:Robotフレームワークでユーザー作成のブラウザインスタンスを使用する方法
'class SeleniumKeywords:
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
def __init__(self):
self.driver = None
def open_browser(self, browser="chrome"):
driver_class = drivers[browser]
self.driver = driver_class()
def go_to(self, url):
self.driver.get(url)'
さて、ブラウザが開きますが、RFのキーワードは、その上に仕事(selenium2libraryキーワード)をdoesntの。基本的には、カスタムキーワードを使用してブラウザインスタンスを開き、RFでselenium2libraryキーワードを使用して最大化します。残念ながら、それは動作しません。
'*** Settings ***
Library ExtendedSelenium2Library
Library ../Resources/SeleniumKeywords.py
Resource ../Global/GlobalConfig.robot
*** Test Cases ***
Reuse Session ID
SeleniumKeywords.Open Browser chrome
maximize browser window
SeleniumKeywords.Go To ${URL} '
最大化ブラウザウィンドウがRFキーワードであると私はそれは私が自分自身のライブラリを書かれている
独自のドライバを作成する代わりに、 'ExtendedSelenium2Library'によって作成されたドライバを使用している理由がある:あなたが本当にあなた自身のセレンのライブラリが必要な場合は
は、あなたがこのような何かを行うことができますか?なぜあなたのコードでは、代わりに 'ExtendedSelenium2Library'で開かれたものを使用しないでください? –
「ブラウザウィンドウを最大化する」という警告が表示されます。特に、Chromeで広告されたとおりに動作するとは限りません。また、テストケースを短縮することもできます: 'Open Browser $ {URL} chrome'、' Maximize Browser Window'です。ブラウザウィンドウを最大化すると設定が有効になります。これは、実行しようとしているように見えます。 SeleniumKeywordsを特別に呼び出す必要はなく、 'Library ExtendedSelenium2Library'呼び出しを使用してインスタンス内のキーワードを既に初期化しています。 –