Robot supports scalars, lists, and dictionaries. The common mistake is reassigning suite-level variables mid-execution, creating hidden state.
Best practice:
• Keep constants in the *** Variables *** section.
• Pass dynamic data as keyword arguments.
• Assign outputs to new variable names.
Example:
*** Variables ***
*** Test Cases ***
Login
${token} Get Token ${USER} ${PASS}
Control scope like you would in real code. Avoid side effects, keep state explicit.