{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"button": false,
"new_sheet": false,
"run_control": {
"read_only": false
},
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"# Testing Graphical User Interfaces\n",
"\n",
"In this chapter, we explore how to generate tests for Graphical User Interfaces (GUIs), abstracting from our [previous examples on Web testing](WebFuzzer.ipynb). Building on general means to extract user interface elements and activate them, our techniques generalize to arbitrary graphical user interfaces, from rich Web applications to mobile apps, and systematically explore user interfaces through forms and navigation elements."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"execution": {
"iopub.execute_input": "2025-01-16T10:12:34.373604Z",
"iopub.status.busy": "2025-01-16T10:12:34.373516Z",
"iopub.status.idle": "2025-01-16T10:12:34.443029Z",
"shell.execute_reply": "2025-01-16T10:12:34.442753Z"
},
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
"http://127.0.0.1:8800
"
],
"text/plain": [
"127.0.0.1 - - [16/Jan/2025 11:12:35] \"GET / HTTP/1.1\" 200 -\n",
""
],
"text/plain": [
"
127.0.0.1 - - [16/Jan/2025 11:12:38] \"GET / HTTP/1.1\" 200 -\n",
""
],
"text/plain": [
"127.0.0.1 - - [16/Jan/2025 11:12:38] \"GET /favicon.ico HTTP/1.1\" 404 -\n",
""
],
"text/plain": [
"127.0.0.1 - - [16/Jan/2025 11:12:39] INSERT INTO orders VALUES ('tshirt', 'Jane Doe', 'j.doe@example.com', 'Seattle', '98104')\n",
""
],
"text/plain": [
"127.0.0.1 - - [16/Jan/2025 11:12:39] \"GET /order?item=tshirt&name=Jane+Doe&email=j.doe%40example.com&city=Seattle&zip=98104&terms=on&submit=Place+order HTTP/1.1\" 200 -\n",
""
],
"text/plain": [
"127.0.0.1 - - [16/Jan/2025 11:12:39] \"GET /terms HTTP/1.1\" 200 -\n",
""
],
"text/plain": [
"