选择动态按钮机器人框架

时间:2018-01-22 12:07:04

标签: python robotframework

我在机器人框架中自动化测试用例。

我有一个问题,当我必须选择一个并不总是具有相同xpath的按钮时。这是因为它依赖于不断增长的列表,并且列表的每一行都有一个关联的按钮。

示例按钮xpath:

xpath = //*[@id="tab_student"]/ul[1]/li[4]/div/div/div[3]/a

xpath = //*[@id="tab_student"]/ul[1]/li[5]/div/div/div[3]/a

xpath = //*[@id="tab_student"]/ul[1]/li[6]/div/div/div[3]/a

如果列表增加或减少,按钮将位于不同的xpath中。

如何从列表行中找到我想要的按钮?

我将html代码附加到按钮:

< a data-bind =" attr:{title:$ root.i18n.t(' text_access_content'),href:' /#/ ce-student?Subject =' + $ root.page.getParam(' SubjectID')+'& CourseID =' + $ root.page.getParam(' CourseID')+'&' +(unit_origin ==' U'?' UnitID':' MyUnitID')+' =' + unit_id +'& Dash =' + unit_identifier},text:$ root.i18n.t(' text_open')"类=" B-见单元" HREF =&#34 /#/笔记本stuendt SubjectID = 51&安培; CourseID = 6&安培;的Un itID = 655安培;短跑= EN _3C_00" title ="访问单元" >开< / A>

谢谢。

1 个答案:

答案 0 :(得分:0)

虽然我认为评论中提供的代码示例并非来自浏览器的实际源代码,但它确实提供了足够的信息来创建更好的xpath。

//*[@id="tab_student"]//a[@title='Access Unit' and @class='b-see-unit' and text()='Open']

在这种情况下,保留xpath(//*[@id="tab_student"])的第一部分。双斜杠//可以重复使用以跳过' DOM的一部分。

然后我们继续创建一个AND构造,其中元素需要具有两个特定属性(titleclass),每个属性都有一个特定的值。除此之外,可见链接文本应该是“打开”。

如果您想了解有关xpath的更多信息,W3schools xpath tutorial是个好地方。

相关问题