RobotFrameWork测试EXTJS应用程序
-
12-11-2019 - |
题
我通过使用RobotFramework和Selenium2Library测试EXTJS Web应用程序,但我无法找到一些HTML元素,因为它们被分配了动态ID。
例如:selenium2library无法找到一个如此的HTML代码:
<button type="button" id="ext-gen56" class=" x-btn-text silk-add">create vm</button>
.
我试图使用细节XPath和CSS表达式,但它们不起作用。如何处理这个问题?任何帮助都会受到赞赏。
我使用的工具是用于自动Web应用测试的机器人框架和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。 - 这将是最简单的解决方案。
生成的ID通常意味着没有人关心它们。
其他提示
没有ID,您可以使用Sahi Automation Framework使用_NEAR和_UNDER ......我正在使用它,它的开放来源......耐心尝试不同的方式来识别元素......它很酷,很好......
大多数元素都将在它们上具有文本。
xpath=//button[contains(text(), 'create vm')]
.
通用方法将是
xpath=//*[contains(text(), 'create vm')]
. 不隶属于 StackOverflow