RobotFramework ExtJSアプリをテストします
-
12-11-2019 - |
質問
RobotFrameworkとSelenium2Libraryを使用してEXTJS Webアプリをテストしていますが、動的IDが割り当てられているため、いくつかのHTML要素を見つけることはできません。
次のように:selenium2Libraryは、このようなHTMLコードを見つけることができませんでした:
<button type="button" id="ext-gen56" class=" x-btn-text silk-add">create vm</button>
.
詳細XPathとCSS式を使用しようとしましたが、それらは機能しません。この問題に対処する方法は?あらゆる助けが高くなるでしょう。
使用したツールは、自動Webアプリテストに使用されるRobotFrameworkとSelenium2Libraryです。
Parts of my test script:
// filename is A.txt
//this is a resource file including keywords which are used by testcase file
*** Keywords ***
open vmmanager page
[Timeout]
click element xpath=//table[3]/tbody/tr[2]/td[2]/em/button
create vm
[Arguments] ${vm_name} ${input_description}
click element xpath=//table[3]/tbody/tr[2]/td[2]/em/button
click element xpath=//td[2]/table/tbody/tr[2]/td[2]/em/button
click link xpath=//tbody/tr/td[5]/div/a
click link xpath=//tbody/tr/td[7]/div/a
input text xpath=//div/div/input ${vm_name}
click image xpath=//div/div/img
click element xpath=//div[22]/div/div
click image xpath=//div[3]/div/div/img
click element xpath=//div[19]/div/div
name is null
alert should be present ${expect}
click button xpath=//div[2]/div/div/div/div/table/tbody/tr/td/em/button
click button xpath=//td[5]/table/tbody/tr[2]/td[2]/em/button
contact engineer
alert should be present
click button ext-gen311
//filename is B.txt
//this is testcase file
*** Settings ***
Resource fiel A.txt
*** Test Cases ***
VC_VM_01
open vmmanager page
create vm ${empty} description
name is null
VC_VM_03
open vmmanager page
create vm valentine day
contact engineer
. 解決
静的IDの設定方法を見つけるだけです。アプリケーションコードにアクセスできない場合は、開発者がコンポーネントの静的IDを割り当てることを確認します。 - これは最も簡単な解決策です。
生成されたIDSは通常、まだそれらを気にしないことを意味します。
他のヒント
IDを使用せずに、Sahi Automation Frameworkから_nearと_underを使用してテストできます。
要素のほとんどはそれらに存在するテキストを持っているでしょう。
xpath=//button[contains(text(), 'create vm')]
.
一般的なアプローチは
xpath=//*[contains(text(), 'create vm')]
. 所属していません StackOverflow