 <p>The problem is here:</p> <pre><code>***Variables*** ... ${headers}= Create Dictionary Cache-Control no-cache </code></pre> <p>You cannot call keywords like <code>create dictionary</code> in the variables table. The above code is setting <code>${headers}</code> to be the <em>string</em> <code>"Create Dictionary Cache-Control no-cache"</code>.</p> <p>Starting with version 9 of robot framework there is direct support for dictionaries using an ampersand rather than dollar sign for variables. You can specify values using <code>&lt;key&gt;=&lt;value&gt;</code> syntax. For example:</p> <pre><code>*** Variables *** &amp;{headers} Cache-Control=no-cache </code></pre>