SlideShare a Scribd company logo
1 of 36
ROBOT FRAMEWORK
Rochak Bhalla
Table of Contents
1. What is Robot Framework?
2. Benefits of Robot Framework?
3. Robot Framework Architecture and Test Flow
4. Robot Framework Libraries
5. PyPI (Python Repository)
6. Tools
7. How to install Robot Framework on Windows?
8. Robot Framework usage with an example
9. Logs and Report
What is Robot Framework?
 Robot Framework is a generic test automation framework.
 It has easy-to-use tabular test data syntax.
 It utilizes the keyword-driven testing approach.
 Its testing capabilities can be extended by test libraries.
 Users can create new higher-level keywords from existing ones using the
same syntax.
 It is operating system and application independent. The core framework is
implemented using Python.
 Robot Framework itself is open source.
Benefits of Robot Framework?
 Ease of Use - Robot Framework allows Keyword Driven Testing and even
behavior driven one.
 Code Writing - Write only as much as you need for your automation.
(Standard login page code will not be more than 6 lines)
 Parallel Execution - Possible using external tools (example - Pabot)
 Logging and Failure Analysis - Neat and clean logs and reports. Comes with
screenshot.
 Flexibility - There are many thing you can't do. if-else (only if block). No
nested loops. And many things if you need complex coding. For many things
you can write custom keyword in Python
 Framework Design - It's a readily available framework so we don’t need to
waste time in designing framework.
Robot Framework Architecture and Test Flow
When test execution is started, the
framework first parses the test data.
It then utilizes keywords provided by the test
libraries to interact with the system under
test.
Libraries can communicate with the system
either directly or using other test tools as
drivers.
Test execution is started from the command
line and at the end of execution you get
report and log HTML format as well as XML
output.
Robot Framework Libraries
Test libraries provide the actual testing capabilities to Robot Framework by
providing keywords.
Robot Framework Libraries
PyPI
PyPI - the Python Package Index (https://pypi.python.org)
 The Python Package Index is a repository of software for the Python
programming language. There are currently 109798 packages here.
The more you explore it the more you get 
Tools
Tools
Tools
How to install Robot Framework on Windows?
 We will install Robot Framework with pip.
 Pip is the standard Python package manager and is already installed if
you’re using Python 2 >=2.7.9 or Python 3 >=3.4
 We can find it under Scripts folder wherever our python is installed.
How to install Robot Framework on Windows?
Step-1: Install Phyton
Go to https://www.python.org/ , download and install Python 2.7.x version
How to install Robot Framework on Windows?
Step-2: Install Robot Framework using PIP (Automatically Installs the latest version)
Open command prompt and run below command.
pip install robotframework
If installing first time
If already installed
How to install Robot Framework on Windows?
Common usages using PIP
How to install Robot Framework on Windows?
Step-4: Verifying Installation
After a successful installation, you should be able to execute below
commands and get both Robot Framework and interpreter versions.
robot --version
rebot --version
How to install Robot Framework on Windows?
Note: If you have any problem please check Path configuration and restart
your PC.
Path configuration must be as same as below figure.
How to install Robot Framework on Windows?
Step-5: Installing RIDE (RIDE is a test data editor for Robot Framework test
data)
Python 2.6 is the minimum version.
RIDE's GUI is implemented using wxPython toolkit. Only wxPython
2.8.12.1 with Unicode support is officially supported.
Notice that similarly as Robot Framework, RIDE does not yet support
Python 3.
How to install Robot Framework on Windows?
Step-5: Installing RIDE (Robot Framework Test Data Editor)
Step-5.1: Python must be installed. (Mandatory)
How to install Robot Framework on Windows?
Step-5: Installing RIDE (Robot Framework Test Data Editor)
Step-5.2: wxPyhton must be installed.
We need to install “wxPyhton2.8-win32-unicode-2.8.12.1-py27.exe” 32-bit
version.
WARNING!
If you install latest version, you will get below error!
How to install Robot Framework on Windows?
Step-5: Installing RIDE (Robot Framework Test Data Editor)
Step-5.3: Install RIDE with below pip command
pip install robotframework-ride
For new install
If already installed
How to install Robot Framework on Windows?
Step-5: Installing RIDE (Robot IDE)
Step-5.4: After a successful installation, RIDE can be started from the
command line or Run window using command ride.py
Command Prompt
Run Window
Installing Specific Library
To install library either user can get the details from Robot Framework official website or user can visit the respective
GitHub repository for the specific needs.
Let’s start with RequestsLibrary. (Library that uses the Requests HTTP client.)
Installation Command:
pip install robotframework-requests
How to install Robot Framework on Windows?
Upgrade Library Command:
pip install --upgrade robotframework-requests
Robot Framework Usage with an Example
Test Scenario: Rest_Test
1. Create Session against the host
2. Get Request for the specific URI
3. Verify Response
Robot Framework Usage with an Example
Directory Structure:
▪ Resource.robot file holds Settings, Variables, Keywords information.
▪ Projects.robot file contains Test Suites and Test Cases which are using our High Level Keywords.
▪ However, creation of directory is on need basis and different project requirements. User can
even create Keywords in Projects.robot and vice versa.
Robot Framework Usage with an Example
Projects.robot:
▪ Here, CreateExternalSystem.robot is a test suite file which holds different test cases.
▪ On Suite Level we can define any specific settings explicitly apart from Resource file.
▪ Test Suite Arch:
Robot Framework Usage with an Example
Resource.robot:
Robot Framework usage with an example
Create Test Case :
1: Add a New TC
2: Call keywords
From Library &
Pass them required
Parameters.
Robot Framework Usage with an Example
TABULAR VIEW TEXTUAL VIEW
Robot Framework usage with an example
Running the test case :
There are two ways to run the test case:
 Run From the RIDE tool itself
Logs and Report
To view log and report access it directly by clicking below icons.
Robot Framework usage with an example
 The other way is we can Run it from Command Prompt : To do so user need to navigate to that
project directory from command prompt and then run the below command :
Logs and Report
On successful execution of
test case you will get the below
Results:
1. Log.html
2. Output.xml
3. Report.html
report.html
Logs and Report
log.html
QUESTIONS?
Thanks 

More Related Content

What's hot

Robot framework
Robot frameworkRobot framework
Robot framework
boriau
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot framework
gilleslenfant
 

What's hot (20)

Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Framework
 
Robot Framework :: Demo login application
Robot Framework :: Demo login applicationRobot Framework :: Demo login application
Robot Framework :: Demo login application
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Robot Framework Dos And Don'ts
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
 
Scripting robot
Scripting robotScripting robot
Scripting robot
 
Python in Test automation
Python in Test automationPython in Test automation
Python in Test automation
 
Robot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs IntegrationRobot Framework Introduction & Sauce Labs Integration
Robot Framework Introduction & Sauce Labs Integration
 
Robot framework Gowthami Goli
Robot framework Gowthami GoliRobot framework Gowthami Goli
Robot framework Gowthami Goli
 
Robot Framework with Python | Edureka
Robot Framework with Python | EdurekaRobot Framework with Python | Edureka
Robot Framework with Python | Edureka
 
Network Protocol Testing Using Robot Framework
Network Protocol Testing Using Robot FrameworkNetwork Protocol Testing Using Robot Framework
Network Protocol Testing Using Robot Framework
 
Setting up Page Object Model in Automation Framework
Setting up Page Object Model in Automation FrameworkSetting up Page Object Model in Automation Framework
Setting up Page Object Model in Automation Framework
 
Belajar Postman test runner
Belajar Postman test runnerBelajar Postman test runner
Belajar Postman test runner
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot framework
 
Hybrid Automation Framework Development introduction
Hybrid Automation Framework Development introductionHybrid Automation Framework Development introduction
Hybrid Automation Framework Development introduction
 
Integration Group - Robot Framework
Integration Group - Robot Framework Integration Group - Robot Framework
Integration Group - Robot Framework
 
TestNG Framework
TestNG Framework TestNG Framework
TestNG Framework
 
testng
testngtestng
testng
 
Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium  Page Object Model and Implementation in Selenium
Page Object Model and Implementation in Selenium
 
Introduction To Appium With Robotframework
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With Robotframework
 

Similar to Robot framework

Auto integration testing
Auto integration testingAuto integration testing
Auto integration testing
Arthur Yueh
 
Rifartek Robot Training Course - How to use ClientRobot
Rifartek Robot Training Course - How to use ClientRobotRifartek Robot Training Course - How to use ClientRobot
Rifartek Robot Training Course - How to use ClientRobot
Tsai Tsung-Yi
 

Similar to Robot framework (20)

robot framework1.pptx
robot framework1.pptxrobot framework1.pptx
robot framework1.pptx
 
Best Selenium Python Frameworks for Test automation.pdf
Best Selenium Python Frameworks for Test automation.pdfBest Selenium Python Frameworks for Test automation.pdf
Best Selenium Python Frameworks for Test automation.pdf
 
Auto integration testing
Auto integration testingAuto integration testing
Auto integration testing
 
10071756.ppt
10071756.ppt10071756.ppt
10071756.ppt
 
ATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot FrameworkATAGTR2017 Expanding test horizons with Robot Framework
ATAGTR2017 Expanding test horizons with Robot Framework
 
Robot a quick automation frame work
Robot  a quick automation frame workRobot  a quick automation frame work
Robot a quick automation frame work
 
Introduction to Google App Engine with Python
Introduction to Google App Engine with PythonIntroduction to Google App Engine with Python
Introduction to Google App Engine with Python
 
Rifartek Robot Training Course - How to use ClientRobot
Rifartek Robot Training Course - How to use ClientRobotRifartek Robot Training Course - How to use ClientRobot
Rifartek Robot Training Course - How to use ClientRobot
 
Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024
 
TDD for joomla extensions
TDD for joomla extensionsTDD for joomla extensions
TDD for joomla extensions
 
Framework
FrameworkFramework
Framework
 
Python Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txtPython Requirements File How to Create Python requirements.txt
Python Requirements File How to Create Python requirements.txt
 
Python Lecture 0
Python Lecture 0Python Lecture 0
Python Lecture 0
 
vvvvReadme
vvvvReadmevvvvReadme
vvvvReadme
 
OpenWhisk by Example - Auto Retweeting Example in Python
OpenWhisk by Example - Auto Retweeting Example in PythonOpenWhisk by Example - Auto Retweeting Example in Python
OpenWhisk by Example - Auto Retweeting Example in Python
 
Unearthing The Power Of IBM – Rational Functional Tester 7.0 - RFT
Unearthing The Power Of IBM – Rational Functional Tester 7.0 - RFTUnearthing The Power Of IBM – Rational Functional Tester 7.0 - RFT
Unearthing The Power Of IBM – Rational Functional Tester 7.0 - RFT
 
.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 
Where's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind PloneWhere's the source, Luke? : How to find and debug the code behind Plone
Where's the source, Luke? : How to find and debug the code behind Plone
 
Managing Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and SubversionManaging Plone Projects with Perl and Subversion
Managing Plone Projects with Perl and Subversion
 
Socket programming-in-python
Socket programming-in-pythonSocket programming-in-python
Socket programming-in-python
 

Recently uploaded

Recently uploaded (20)

WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million PeopleWSO2Con2024 - Unleashing the Financial Potential of 13 Million People
WSO2Con2024 - Unleashing the Financial Potential of 13 Million People
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 

Robot framework

  • 2. Table of Contents 1. What is Robot Framework? 2. Benefits of Robot Framework? 3. Robot Framework Architecture and Test Flow 4. Robot Framework Libraries 5. PyPI (Python Repository) 6. Tools 7. How to install Robot Framework on Windows? 8. Robot Framework usage with an example 9. Logs and Report
  • 3. What is Robot Framework?  Robot Framework is a generic test automation framework.  It has easy-to-use tabular test data syntax.  It utilizes the keyword-driven testing approach.  Its testing capabilities can be extended by test libraries.  Users can create new higher-level keywords from existing ones using the same syntax.  It is operating system and application independent. The core framework is implemented using Python.  Robot Framework itself is open source.
  • 4. Benefits of Robot Framework?  Ease of Use - Robot Framework allows Keyword Driven Testing and even behavior driven one.  Code Writing - Write only as much as you need for your automation. (Standard login page code will not be more than 6 lines)  Parallel Execution - Possible using external tools (example - Pabot)  Logging and Failure Analysis - Neat and clean logs and reports. Comes with screenshot.  Flexibility - There are many thing you can't do. if-else (only if block). No nested loops. And many things if you need complex coding. For many things you can write custom keyword in Python  Framework Design - It's a readily available framework so we don’t need to waste time in designing framework.
  • 5. Robot Framework Architecture and Test Flow When test execution is started, the framework first parses the test data. It then utilizes keywords provided by the test libraries to interact with the system under test. Libraries can communicate with the system either directly or using other test tools as drivers. Test execution is started from the command line and at the end of execution you get report and log HTML format as well as XML output.
  • 6. Robot Framework Libraries Test libraries provide the actual testing capabilities to Robot Framework by providing keywords.
  • 8. PyPI PyPI - the Python Package Index (https://pypi.python.org)  The Python Package Index is a repository of software for the Python programming language. There are currently 109798 packages here. The more you explore it the more you get 
  • 10. Tools
  • 11. Tools
  • 12. How to install Robot Framework on Windows?  We will install Robot Framework with pip.  Pip is the standard Python package manager and is already installed if you’re using Python 2 >=2.7.9 or Python 3 >=3.4  We can find it under Scripts folder wherever our python is installed.
  • 13. How to install Robot Framework on Windows? Step-1: Install Phyton Go to https://www.python.org/ , download and install Python 2.7.x version
  • 14. How to install Robot Framework on Windows? Step-2: Install Robot Framework using PIP (Automatically Installs the latest version) Open command prompt and run below command. pip install robotframework If installing first time If already installed
  • 15. How to install Robot Framework on Windows? Common usages using PIP
  • 16. How to install Robot Framework on Windows? Step-4: Verifying Installation After a successful installation, you should be able to execute below commands and get both Robot Framework and interpreter versions. robot --version rebot --version
  • 17. How to install Robot Framework on Windows? Note: If you have any problem please check Path configuration and restart your PC. Path configuration must be as same as below figure.
  • 18. How to install Robot Framework on Windows? Step-5: Installing RIDE (RIDE is a test data editor for Robot Framework test data) Python 2.6 is the minimum version. RIDE's GUI is implemented using wxPython toolkit. Only wxPython 2.8.12.1 with Unicode support is officially supported. Notice that similarly as Robot Framework, RIDE does not yet support Python 3.
  • 19. How to install Robot Framework on Windows? Step-5: Installing RIDE (Robot Framework Test Data Editor) Step-5.1: Python must be installed. (Mandatory)
  • 20. How to install Robot Framework on Windows? Step-5: Installing RIDE (Robot Framework Test Data Editor) Step-5.2: wxPyhton must be installed. We need to install “wxPyhton2.8-win32-unicode-2.8.12.1-py27.exe” 32-bit version. WARNING! If you install latest version, you will get below error!
  • 21. How to install Robot Framework on Windows? Step-5: Installing RIDE (Robot Framework Test Data Editor) Step-5.3: Install RIDE with below pip command pip install robotframework-ride For new install If already installed
  • 22. How to install Robot Framework on Windows? Step-5: Installing RIDE (Robot IDE) Step-5.4: After a successful installation, RIDE can be started from the command line or Run window using command ride.py Command Prompt Run Window
  • 23. Installing Specific Library To install library either user can get the details from Robot Framework official website or user can visit the respective GitHub repository for the specific needs. Let’s start with RequestsLibrary. (Library that uses the Requests HTTP client.) Installation Command: pip install robotframework-requests
  • 24. How to install Robot Framework on Windows? Upgrade Library Command: pip install --upgrade robotframework-requests
  • 25. Robot Framework Usage with an Example Test Scenario: Rest_Test 1. Create Session against the host 2. Get Request for the specific URI 3. Verify Response
  • 26. Robot Framework Usage with an Example Directory Structure: ▪ Resource.robot file holds Settings, Variables, Keywords information. ▪ Projects.robot file contains Test Suites and Test Cases which are using our High Level Keywords. ▪ However, creation of directory is on need basis and different project requirements. User can even create Keywords in Projects.robot and vice versa.
  • 27. Robot Framework Usage with an Example Projects.robot: ▪ Here, CreateExternalSystem.robot is a test suite file which holds different test cases. ▪ On Suite Level we can define any specific settings explicitly apart from Resource file. ▪ Test Suite Arch:
  • 28. Robot Framework Usage with an Example Resource.robot:
  • 29. Robot Framework usage with an example Create Test Case : 1: Add a New TC 2: Call keywords From Library & Pass them required Parameters.
  • 30. Robot Framework Usage with an Example TABULAR VIEW TEXTUAL VIEW
  • 31. Robot Framework usage with an example Running the test case : There are two ways to run the test case:  Run From the RIDE tool itself
  • 32. Logs and Report To view log and report access it directly by clicking below icons.
  • 33. Robot Framework usage with an example  The other way is we can Run it from Command Prompt : To do so user need to navigate to that project directory from command prompt and then run the below command :
  • 34. Logs and Report On successful execution of test case you will get the below Results: 1. Log.html 2. Output.xml 3. Report.html report.html