5

Robot Framework & WebアプリケーションをテストするためのSelenium2Library(.txt形式)を使用して、自動化テストスクリプトを作成しています。私のテストケースの1つは、HTMLタグのCSSスタイル属性をチェックすることです。Robot Frameworkを使用して特定のhtml要素のCSSスタイル属性を見つける方法は?

Robot Frameworkには、html要素のCSSスタイル属性を取得するための具体的なキーワードはありますか?

<div id="check_style" style="width:20px;height:20px;background-color:#ffcc00;"></div> 

は今、私は変数${bg_color}に、この特定のhtmlタグの背景色を保存する必要があります。

は、ここに私のテストのシナリオです。このプロセスを実行するためにRobot Frameworkに特定のキーワードはありますか?

このような状況に対処するための効果的な方法をお勧めしますか?

I think we can make use of this javascript function for the above mentioned purpose :

document.getElementById("check_style").style["background-color"]

But how to make use of this particular function to store the value of background-color inot a variable ${bg_color} ?

(I have tried to execute ${bg_color} = Execute Javascript document.getElementById("check_style").style["background-color"] , but didn't work !)

答えて

3

あなたはスタイル属性を取得するためにSelenium2Library Get Element Attributeキーワードを使用することができます。

| | ${style}= | Get element attribute | [email protected] 

あなたはその後、背景色の属性を見つけるか、いくつかの追加の解析を行うために、正規表現を使用することができます。後者は、ロボットのキーワードよりもPythonで簡単に実行できます。

たとえば、正規表現を理解している場合、次のようなものが動作する可能性があります。もちろん、弾丸校正を追加したいと思うかもしれません。

| | ${style}= | get element attribute | [email protected] 
| | ${color}= | evaluate | re.search("background-color: *(.*?);", '''${style}''').group(1) | re 

注:生のHTMLと同じリテラル値を取得しないことがあります。たとえば、私のマシンで${color}は、#ffcc00の色でも、rgb(255, 204, 0)に戻ってきます。

+0

私は 'Get Element Attribute'キーワードで試しましたが、値**を返しています。また、このキーワード(例:background-color)のみを使用して特定のCSS属性を抽象化する方法はありますか? [Pythonを使用していないので、テストケースを '.txt'形式で記述しています。 'Get Element Attribute id = check_style @ background-color'という特定の属性を取得するために、このようなことをすることはできますか? –

+0

@ArunRamachandran:いいえ、 'Background-color'を得るために' Get Element Attribute'を使うことはできません。 'background-color'は要素属性ではありません。私の例で示したように、スタイルを取得するためにこのスタイルを使用することができます。次に、結果を解析して背景色を取得することができます。 –

+0

解決に感謝します!しかし、( '.txt'形式のテストケースを書くのであれば)ロボットのフレームワークで正規表現を直接利用できますか? Pythonでテストケースを記述していない場合でも、テストケースで正規表現を使用できますか? –

関連する問題