Pregunta

Actualmente estoy jugando con el Autoit biblioteca para Robot Framework , ¡así que estoy haciendo lo típico" Mi primera prueba de GUI de robots y probando la calculadora!Desafortunadamente, mi siguiente código genera el error: Dictionary does not contain key 'View Scientific'..Esto ocurre en la palabra clave .Parece que siempre que lo llamo Elemento de menú Seleccionar calculadora Recibo un error.

*** Settings ***
| Documentation    | Tests AutoIt Library
| Suite Setup      | Start Calculator
| Library          | AutoItLibrary
| Library          | Collections
| Library          | String
| Variables        | CalculatorGUIMap.py


*** Test Cases ***
| Integer Addition
| | Click Buttons | 2 2 + 2 =
| | Win Wait | Calculator | 24
| | ${Ans}= | Get Answer
| | Should Be Equal As Numbers | ${Ans} | 24


*** Keywords ***
| Start Calculator
| | Run | calc.exe
| | Wait For Active Window | Calculator
| | Get Calculator Version
| | Select Calculator Menu Item | View Scientific
| | Send | 12345
| | ${Result} | ${ErrMsg} = | Run Keyword And Ignore Error | Win Wait
| | ...       | Calculator  | 12345
| | Run Keyword If | "${Result}"=="FAIL" | Select Calculator Menu Item | View Digit grouping
| | Win Wait | Calculator | 12345
| | Click Button | Clear

| Click Button
| | [Arguments]     | ${Button Text}
| | ${ButtonName} = | Get From Dictionary | ${GUIMAP} | ${ButtonText}
| | Control Click   | Calculator          | ${EMPTY}  | ${ButtonName}

| Click Buttons
| | [Arguments] | ${ButtonNames}
| | @{Buttons}= | Split String  | ${ButtonNames}
| | :FOR        | ${ButtonName} | IN             | @{Buttons}
| |             | Click Button  | ${ButtonName}

| Select Calculator Menu Item
| | [Arguments] | ${MenuItem}
| | ${AltKeys}= | Get From Dictionary | ${MENUMAP} | ${MenuItem}
| | Send  | {ALTDOWN}
| | Sleep | 1
| | Send  | ${AltKeys}
| | Send  | {ALTUP}

| Get Calculator Version
| | Send  | {ALTDOWN}
| | Sleep | 1
| | Send  | ha
| | Send  | {ALTUP}
| | Win Wait Active | About Calculator | Version
| | ${WinText}= | Control Get Text | About Calculator | Version | 13579
| | ${WinText2}= | Run Keyword If   | "Version" not in "${WinText}" | Control Get Text
| | ...          | About Calculator | Version                       | Static4
| | ${WinText}= | Set Variable If | "version" in "${WinText2}" | ${WinText2}
| | ...         | ${WinText}
| | Run Keyword If | "Version" not in "${WinText}" | Fail | Can't find Calculator version
| | ${GUIMAP}= | Set Variable If | "5.1" in "${WinText}" | ${GUIMAP_51}
| | ${GUIMAP}= | Set Variable If | "6.0" in "${WinText}" | ${GUIMAP_60}
| | ...        | ${GUIMAP}
| | ${GUIMAP}= | Set Variable If | "6.1" in "${WinText}" | ${GUIMAP_61}
| | ...        | ${GUIMAP}
| | Run Keyword If | ${GUIMAP}== None | Fail | Calculator version not supported: ${WinText}
| | Set Suite Variable | ${GUIMAP}
| | ${MENUMAP}= | Set Variable If | "5.1" in "${WinText}" | ${GUIMAP_51}
| | ${MENUMAP}= | Set Variable If | "6.0" in "${WinText}" | ${GUIMAP_60}
| | ...          | ${MENUMAP}
| | ${MENUMAP}= | Set Variable If | "6.1" in "${WinText}" | ${GUIMAP_61}
| | ...          | ${MENUMAP}
| | Set Suite Variable | ${MENUMAP}
| | Control Click | About Calculator | Version | Button1

| Get Answer
| | Select Calculator menu Item | Edit Copy
| | ${Answer}= | Clip Get
| | [Return] | ${Answer}

¿Cuál es la razón de esta palabra clave generando errores?

gracias de antemano.

¿Fue útil?

Solución

"El diccionario no contiene la clave 'vista scientific'" debería ser bastante explicativa.Estás tratando de usar el código de generación clave como una clave para un diccionario, y ese diccionario no tiene esa clave.

En su caso, tiene un diccionario llamado GreenAcodiCetAnGode que aparentemente lo hace> no tiene el clave clave "View Scientific".Debe averiguar por qué le faltan su mapa esta tecla.Una cosa simple de hacer es registrar el diccionario, que le dirá qué teclas tiene.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top