2017-01-17 81 views
0

我試圖確定頁面加載時複選框的狀態,並且如果它們未被選中,請檢查它們。我的目標是在繼續測試頁面之前建立一個已知狀態。使用Robot Framework驗證複選框的狀態

我使用的run keyword unless關鍵字與一個變量:

***Variable*** 
${checked1} checkbox should be selected xpath=(//input[@name='allowfields'])[2] 
${checked2} checkbox should be selected xpath=(//input[@name='allowsharing'])[2] 

***Test Cases*** 
Validate checkbox initial state 
Run Keyword unless ${checked1} Click Element xpath=(//input[@name='allowfields'])[2] 
Run Keyword unless ${checked2} Click Element xpath=(//input[@name='allowsharing'])[2] 

試驗目前犯錯誤出用的一個信息:
評估表達「複選框應選擇的xpath =(//輸入[@name ='allowfields'])[2]'failed:SyntaxError:invalid syntax(,line 1)

任何人都可以指出正確的方向嗎?

編輯下面... 感謝@Mohanapriya我能夠解析代碼,並提出了部分解決方案。自動運行並返回PASS,但不會將複選框的狀態從未選中更改爲已檢查。

這裏是我工作的一部分:

*** Keyword *** 
Configure Checkbox 
[Arguments] ${Status_Locator} ${Checkbox_Locator} ${Excel_Value} 
${Is_Checkbox_Selected} Run Keyword And Return Status Checkbox Should Be Selected ${Status_Locator} ${Actual_Chkbx_Value} Run Keyword If '${Is_Checkbox_Selected}'== 'True' Set Variable Yes else if '${Is_Checkbox_Selected}'== 'False' Set Variable No Log ${Actual_Chkbx_Value} Run Keyword If '${Excel_Value}'!='${Actual_Chkbx_Value}' Click Element ${Checkbox_Locator} 
Click Button css=button.primary.success 

在故障點,乘坐日誌顯示:
Starting test: Tests.Validate checkbox state 20170117 12:29:16.968 : FAIL : Variable '${Is_Checkbox_Selected}' not found. 20170117 12:29:16.969 : INFO : ${Is_Checkbox_Selected} = False 20170117 12:29:16.971 : INFO : Clicking button 'css=button.primary.success'.

上的任何反饋如何糾正呢?

回答

2
Configure Checkbox 
    [Arguments] ${Status_Locator} ${Checkbox_Locator} ${Excel_Value} 
    ${Is_Checkbox_Selected}= Run Keyword And Return Status Checkbox Should Be Selected ${Status_Locator} 
    ${Actual_Chkbx_Value}= Run Keyword If '${Is_Checkbox_Selected}'== 'True' Set Variable Yes 
    ... ELSE IF '${Is_Checkbox_Selected}'== 'False' Set Variable No 
    Log ${Actual_Chkbx_Value} 
    Run Keyword If '${Excel_Value}'!='${Actual_Chkbx_Value}' Click Element ${Checkbox_Locator} 

在這段代碼中,我傳遞了三個參數。

+0

嗨Mohanapriya,配置複選框是本地庫還是不同機器人庫的一部分?您的代碼格式難以確定。 –

+0

@CharlesRamsell,配置複選框是用戶定義的關鍵字(本地庫) – Mohanapriya