2017-04-13 10 views
2

ロボットの自動テストスクリプトを作成するためにRobot IDEを使用しています。私がオーディオコールを開始したときの私のテストでは、ブラウザは "許可"と "ブロック"ボタンで許可を求めています。つまり、Webベースのアラート/ポップアップダイアログで、ロボットのスクリプトではアクセスできません。私が「許可」ボタンを手動でクリックしている場合は、テストを進めて成功しますが、手動でクリックする必要があります。ロボットフレームワークでWebベースの警告またはポップアップを処理する方法は?

For Image, please click here

あなたは、私は私のテストでは先に行くことが必要である許可]ボタンをクリックするイメージから見ることができるように。

どのようにすれば、ブラウザテストスクリプトでブラウザ確認ポップアップの[許可]ボタンをクリックすることができますか。

ありがとうございます!

マイプロジェクトの構造は、この機能を駆動クロームの設定がchrome://settings/を使用して表示することができ

enter image description here

+0

あなたは[警告を閉じます]を(http://robotframework.org/Selenium2Library/Selenium2Libraryを使用してみました.html#Dismiss%20Alert)キーワード? –

+0

@BryanOakley、はいそのキーワードを使用しましたが、「アラートはありませんでした」というエラーが表示され、テストケースに失敗します – user2235971

+0

[Chromeでマイクをプログラマチックに使用するにはどうすればよいですか?](http://stackoverflow.com/question/38832776/how-do-i-allow-chrome-to-my-my-microphone-programatically) –

答えて

2

です。これらの設定はChromeプロフィールに保存されます。このプロファイルへのパスはchrome://version/を使用して見つけることができます。 preferencesファイルには、設定のJSON構造があります。

以下のRobot Frameworkの例では、スクリプトはGoogleを開き、マイクアイコンをクリックして音声検索を開始します。通常の状況では、これによりマイクアクセスのポップアップが発生します。

割り当てが2つの変数に分割されるのは、URLに区切り文字とみなされる文字(. : //)が含まれているためです。これは、構造のその部分を手動で作成することによって克服されます:Create Dictionary https://www.google.nl:443,*=${SiteOptions}

これはその後、望ましい優先構造をもたらす:

... 
"profile":{ 
    ... 
    "content_settings": { 
     ... 
     "exceptions": { 
      ... 
      "media_stream_mic":{ 
       "https://www.google.nl:443,*":{ 
        "last_used":1492245954.955647, 
        "setting":1 
       } 
      }, 

ロボットスクリプト:

*** Settings *** 
Library Selenium2Library  

*** Test Cases *** 

Chrome With Preferences 
    ${chrome_options} =  Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver 

    &{SiteOptions}   Create Dictionary last_used=${1470931206}  setting=${1} 
    &{media_stream_mic} Create Dictionary https://www.google.nl:443,*=${SiteOptions} 
    ${prefs}    Create Dictionary profile.content_settings.exceptions.media_stream_mic=${media_stream_mic} 

    Call Method ${chrome_options} add_experimental_option prefs ${prefs} 

    Create WebDriver Chrome chrome_options=${chrome_options} 

    Go To https://google.com 

    Click Link css=#gs_st0 > a # Click the search microphone icon. 

    sleep  5s 
    [Teardown] Close Browser 
+0

私はジェンキンズのように私の上司によって設計されたプロジェクトの構造を持っていますし、どこにプリファレンスを置いて設定するのかわかりませんでした。 – user2235971

+0

これは、より多くの情報を必要とするもので、実際には別の質問です。上記のスクリプトはTest Codeであり、あなたのプロジェクトの./testsフォルダに格納されていると思われます。 '.robot'ファイルで' Create Webdriver'キーワードを探してください。これが変更箇所です。複数の結果が見つかった場合、これは複数の変更を意味します。 –

+0

A. Kootstra素早い返答をありがとう。あなたのプロジェクトで提供されているソリューションを試してみます。 – user2235971

関連する問題