{ "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": 1, "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": 2, "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": 3, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "

Log | Report

" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ ""en"\n" ] }, "execution_count": 3, "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/tmp6cj4_n7e/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": 5, "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": 6, "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": 7, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/html": [ "

Log | Report

" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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" }, "metadata": { "image/png": { "height": 516, "width": 790 } }, "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": "robotframework", "pygments_lexer": "robotframework" } }, "nbformat": 4, "nbformat_minor": 2 }