计算表中的行时出现Robot Framework错误

时间:2017-08-09 18:15:39

标签: python python-2.7 robotframework

我正在尝试计算表格中可以在10,20或50行表格中显示的所有行的数量。我在数据库中有71条记录,因此在页面上,当我每页选择10行时,有8个表链接。下面的代码工作正常,并返回行的总和,直到第6页,它显示聚合值为60,但在下一次迭代中,它无法计算第7页的10条记录,只返回1,所以我总共得到61而不是71.似乎忽略了这一过程中的一页。

在下面的Hemanthvrm评论之后,我查看了html并发现此问题是由于页面导航表上的范围问题引起的。此页面导航表有10个框 <Prev>|1|2|3|4|5|...|8|<Next>

xpaths的范围从// [@ id =“study_paginate”] / ul / li [2] / a到// [@ id =“study_paginate”] / ul / li [8] / A

但是当单击页面5时,导航表将变为

<Prev>|1|...|4|5|6|7|8|<Next>

但是相对位置的xpaths保持不变,所以之前// [@ id =“study_paginate”] / ul / li [6] / a参考第5页,点击第5页后,相同// [@ id =“study_paginate”] / ul / li [6] / a现在引用第6页。由于系统已经点击了这个xpath(第5页),所以在五点之后点击// * [ @ id =“study_paginate”] / ul / li [7] / a,现在引用第7页。所以第6页完全省略了。

SAS_Temp_Tests
[Tags]    TEMP
Open Browser    http://localhost:5000/login/    Chrome
Maximize Browser Window
Wait Until Element Is Visible    id=submit
Input Text    id=email    ${User_Email}
Input Password    password    ${User_PW}
Click Element    id=submit
sleep    2s
Click Element    ${User_Menu Link}
Wait Until Element Is Visible    ${User_menu_Study_admin_Panel Link}
Click Element    ${User_menu_Study_admin_Panel Link}
sleep    3s
Comment    Click Element    xpath=//*[@id="study_length"]/label/select/option[4]
${rows}=    Get Matching Xpath Count    //*[@id="study"]/tbody/tr
Log    ${rows}
${Row_num}=    Evaluate    0
Set Global Variable    ${Row_num}
Log    ${Row_num}
: FOR    ${x}    IN RANGE    2    9999999
\    ${page}=    Run Keyword And Return Status    Element Should Be Visible    xpath=//*[@id="study_paginate"]/ul/li[${x}]/a
     ${y}    Evaluate    ${x}+1
\    ${No_Page}    Run Keyword And Return Status    Element Should Not Be Visible    xpath=//*[@id="study_paginate"]/ul/li[${y}]/a
\    Exit For Loop If    ${No_Page}
\    Click Element    xpath=//*[@id="study_paginate"]/ul/li[${x}]/a
\    Wait Until Element Is Visible    xpath=//*[@id="study"]
\    sleep    1s
\    ${rows}=    Get Matching Xpath Count    //*[@id="study"]/tbody/tr
\    ${Row_num}    Evaluate    ${Row_num}+${rows}
\    Log    ${Row_num}
Close All Browsers

有了这个更新,任何建议我如何克服这个问题?

1 个答案:

答案 0 :(得分:-1)

一切看起来都不错

*你测试过$ {x}只有7吗?如果是,那你有1还是10?
*你有没有比较7和6的表格格式?