2015-12-01 51 views
1

變量的值存儲。例如,我們有:不能RobotFramework

Get ticket value 
     Wait Until Element is Visible ${ticketDescription} 
     ${ticketDescValue}= Execute Javascript return window.document.querySelector('p[class*="ticket-description"]').innerHTML.toString() 


Verify if ticket value matches 
     Element Text Should Be ${some_locator} ${ticketDescValue} 

其中,$ {ticketDescValue}將是預期的文本

測試用例例如:

*** Test Cases *** 
Ticket value is correct 
    [Documentation] OK: test test test 
    [Tags] Add to basket 
    Go to some URL 
    Get ticket value 
    Navigate to product details page 
    Verify if ticket value matches 

有在現有關鍵字之間共享變量的一些方法? 在Java中,我可以在這種情況下使用getter和setter。 或發送參數的方法等...

如何使用Robot Framework實現它?

回答

1

您需要可以設置變量值使用類似的東西全局或套房變量的賦值行後下方:

Set Suite Variable ${ticketDescValue} 

或者,你可以從第一個關鍵字返回變量,並通過它作爲第二個關鍵字的參數

+0

謝謝。這個對我有用! –

0

更好的方法是修改您的Get ticket value關鍵字以返回參數,您的Verify if ticket value matches關鍵字將票證值作爲參數。這樣你就不需要使用全局變量。

Get ticket value 
    Wait Until Element is Visible ${ticketDescription} 
    ${ticketDescValue}= Execute Javascript return window.document.querySelector('p[class*="ticket-description"]').innerHTML.toString() 
    [Return] ${ticketDescValue} 

Verify if ticket value matches 
    [Arguments] ${value} 
    Element Text Should Be ${some_locator} ${value} 

然後你的測試應該是這樣的:

*** Test Cases *** 
Ticket value is correct 
    [Documentation] OK: test test test 
    [Tags] Add to basket 
    Go to some URL 
    ${ticket value}= Get ticket value 
    Navigate to product details page 
    Verify if ticket value matches ${ticket value} 

我的所有不同的參數名稱以強調它們不必是所有相同的 - 但是你可以讓他們都一樣如果你想。