{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Testing REST API with for Robot Framework" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "RESTinstance library makes it easy to test and interact with JSON REST API web services." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Settings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's start learning it by importing the library and configuring it to test our example service: a Plone CMS demo site hosted at http://plonedemo.kitconcept.com:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "*** Settings ***\n", "\n", "Library REST https://plonedemo.kitconcept.com" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Because Plone requires explicit ``Accept: application/json`` header to route reuqest to its REST API, we define user keyword **Set default headers** as **Suite Setup** to set that header for REST library calls:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "*** Settings ***\n", "\n", "Library BuiltIn\n", "\n", "Suite Setup Set default headers\n", "\n", "*** Keywords ***\n", "\n", "Set default headers\n", " ${headers}= Create dictionary\n", " ... Accept=application/json\n", " Set headers ${headers}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we are ready to start calling the REST library by:\n", "* executing a HTTP verb to some absolute path with optional payload\n", "* making test assertions on the response\n", "* logging or returning output from the response" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## GET" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This first test should PASS, because English language path should return ``en`` as its language:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

Log | Report

" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
"en"\n",
       "
" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "*** Test Cases ***\n", "\n", "GET English portal root\n", " GET /en\n", " String response body language en\n", " Output response body language" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This second test should FAIL, because German language path should return ``de`` as its language, not ``en``:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "tags": [ "raises-exception" ] }, "outputs": [ { "data": { "text/html": [ "

Log | Report

" ] }, "metadata": {}, "output_type": "display_data" }, { "ename": "", "evalue": "", "output_type": "error", "traceback": [ "==============================================================================", "Jupyter ", "==============================================================================", "GET portal root | FAIL |", "'de' is not one of ['en']", "", "Failed validating 'enum' in schema:", " {'default': 'de', 'enum': ['en'], 'type': 'string'}", "", "On instance:", " 'de'", "------------------------------------------------------------------------------", "Jupyter | FAIL |", "1 critical test, 0 passed, 1 failed", "1 test total, 0 passed, 1 failed", "==============================================================================", "Output: /run/user/1000/tmpu6rrygt2/output.xml" ] } ], "source": [ "*** Test Cases ***\n", "\n", "GET portal root\n", " GET /de\n", " String response body language en" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## POST" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calling mutable API at ``plonedemo.kitconcept.com`` requires authentication with the service.\n", "\n", "To allow REST library to test authenticated methods, we need to login to the service.\n", "\n", "Here we define a new user keyword to use SeleniumLibrary to login and retrieve a valid session cookie:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "*** Settings ***\n", "\n", "Library SeleniumLibrary\n", "Suite teardown Close all browsers\n", "\n", "*** Variables ***\n", "\n", "${API} http://plonedemo.kitconcept.com\n", "\n", "*** Keywords ***\n", "\n", "Get auth token\n", " Open browser ${API}/en/login browser=headlessfirefox\n", " Page should contain Login as Editor\n", " Click link Login as Editor\n", " Page should contain You are now logged in\n", " ${cookie}= Get cookie __ac\n", " [return] ${cookie.value}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we can redefine our **Suite Setup** to also set the session cookie for REST library request headers:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "*** Settings ***\n", "\n", "Library BuiltIn\n", "\n", "Suite setup Set default headers\n", "\n", "*** Keywords ***\n", "\n", "Set default headers\n", " ${token}= Get auth token\n", " ${headers}= Create dictionary\n", " ... Accept=application/json\n", " ... Cookie=__ac=${token}\n", " Set headers ${headers}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And finally, as we are now logged in, we can start testing the creation of new pages on Plone:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "

Log | Report

" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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" }, "metadata": { "image/png": { "height": 526, "width": 800 } }, "output_type": "display_data" } ], "source": [ "*** Settings ***\n", "\n", "Library String\n", "\n", "*** Keywords ***\n", "\n", "Create new page\n", " ${payload}= Create dictionary\n", " ... @type=Document\n", " ... title=Hello World\n", " ... text=

Here be dragons!

\n", " POST /en ${payload}\n", " Output\n", " Integer response status 201\n", " ${url}= Output response body @id\n", " ${url}= Strip string ${url} characters=\"\n", " [return] ${url}\n", "\n", "*** Test Cases **\n", "\n", "Can view the new page\n", " ${url}= Create new page\n", " Go to ${url}\n", " Page should contain Here be dragons!\n", " Set window size 800 600\n", " Capture page screenshot" ] } ], "metadata": { "kernelspec": { "display_name": "Robot Framework", "language": "robotframework", "name": "robotkernel" }, "language_info": { "codemirror_mode": "robotframework", "file_extension": ".robot", "mimetype": "text/plain", "name": "Robot Framework", "pygments_lexer": "robotframework" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 4 }