簡體   English   中英

Robotframework 創建 LOOP TO FIND 元素

[英]Robotframework Create LOOP TO FIND Element

${i}=    Set Variable    0
FOR    ${i}    IN RANGE    0    20
\    Test Scroll
\    Element Text Should Be    xpath=//android.view.View[@index='0']//android.view.View[@text='Wiki']
\    ${Additional_pack_th}=    Get Text    xpath=//android.view.View[@text='Wiki']
\    ${status}    Run Keyword And Return Status    BuiltIn.Should Be Equal As Strings    ${Additional_pack_th}    Wiki
\    BuiltIn.Exit For Loop If    ${status} == TRUE
\    BuiltIn.Continue For Loop If    ${status} == False
${i}=    BuiltIn.Evaluate    ${i}+1

這是正確的方法嗎? 我的執行在這里失敗...請幫忙!

一個問題是語法。 您不需要每一行都使用\\ ,您需要添加一個END語句。 此外,您不需要初始化或增加${i} ,當您使用 FOR 循環時,機器人會自動執行此操作。

FOR    ${i}    IN RANGE    0    20
    Test Scroll
    Element Text Should Be    xpath=//android.view.View[@index='0']//android.view.View[@text='Wiki']
    ${Additional_pack_th}=    Get Text    xpath=//android.view.View[@text='Wiki']
    ${status}    Run Keyword And Return Status    BuiltIn.Should Be Equal As Strings    ${Additional_pack_th}    Wiki
    BuiltIn.Exit For Loop If    ${status} == TRUE
    BuiltIn.Continue For Loop If    ${status} == False
END

此外,這是不正確的:

${status} == TRUE

${status}替換為其值后,結果必須是正確的 Python 表達式。 python 不知道TRUE這個詞。 狀態永遠只會是“通過”或“失敗”,因此您需要檢查這些值之一。 最后,您不需要使用BuiltIn.為內置關鍵字添加BuiltIn. .

因此,該語句應如下所示:

Exit For Loop If    '${status}' == 'TRUE'

Continue For loop if因為Continue For loop if是它將執行的默認操作,則不需要調用Continue For loop if 如果您想跳過某些關鍵字並開始下一次迭代,則只需使用“繼續”。 您沒有跳過任何關鍵字,因此完全沒有必要。

最終版本應如下所示:

FOR    ${i}    IN RANGE    0    20
    Test Scroll
    Element Text Should Be    xpath=//android.view.View[@index='0']//android.view.View[@text='Wiki']
    ${Additional_pack_th}=    Get Text    xpath=//android.view.View[@text='Wiki']
    ${status}    Run Keyword And Return Status    BuiltIn.Should Be Equal As Strings    ${Additional_pack_th}    Wiki
    Exit For Loop If    '${status}' == 'TRUE'
END

然而,說了這么多,我不確定這會奏效。 這取決於Test Scroll作用。 由於您永遠不會在每次迭代時更改 xpath 語句,因此它可能會一遍又一遍地找到相同的元素。

我不知道您的應用程序是什么樣子,但也許您需要在 xpath 中使用${i}

Element Text Should Be    xpath=//android.view.View[@index='${i}']//android.view.View[@text='Wiki']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM