You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
import GlossaryTerm from '@site/src/components/Glossary/GlossaryTerm';
2
+
1
3
# 1 Introduction to Robot Framework
2
4
3
-
The upcoming chapters provide a concise overview of Robot Framework, including its core structure, use cases in test automation and [Robotic Process Automation](/docs/glossary#robotic-process-automation) (RPA), and key specification styles like [keyword](/docs/glossary#keyword)-driven and behavior-driven testing. You'll learn about its architecture, syntax, and how [test cases](/docs/glossary#[test](/docs/glossary#test-case)-case) and [tasks](/docs/glossary#task) are organized. Additionally, the chapters explain the open-source licensing under Apache 2.0, the role of the [Robot Framework Foundation](/docs/glossary#robot-framework-foundation) in maintaining the ecosystem, and the foundational web resources available for further exploration and contributions.
5
+
The upcoming chapters provide a concise overview of Robot Framework, including its core structure, use cases in <GlossaryTerm term={"Test Case"}>test</GlossaryTerm> automation and [Robotic Process Automation](/docs/glossary#robotic-process-automation) (RPA), and key specification styles like [keyword](/docs/glossary#keyword)-driven and behavior-driven testing. You'll learn about its architecture, syntax, and how [test cases](/docs/glossary#[test](/docs/glossary#test-case)-case) and [tasks](/docs/glossary#task) are organized. Additionally, the chapters explain the open-source licensing under Apache 2.0, the role of the [Robot Framework Foundation](/docs/glossary#robot-framework-foundation) in maintaining the ecosystem, and the foundational web resources available for further exploration and contributions.
Copy file name to clipboardExpand all lines: website/docs/chapter-01/01_purpose.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
import GlossaryTerm from '@site/src/components/Glossary/GlossaryTerm';
2
+
1
3
# 1.1 Purpose / Use Cases
2
4
3
5
::::lo[Learning Objectives]
@@ -35,13 +37,13 @@ Robot Framework is widely used at various levels of testing, primarily focusing
35
37
36
38
-**System Integration Testing**: Focuses on the interaction between the system under [test](/docs/glossary#test-case) and external services, as well as on the integration of multiple systems into a larger system, ensuring that all integrated components communicate and function together as expected.
37
39
38
-
-**Acceptance Testing**: Aims to validate that the system meets business requirements and is ready for deployment or release. This often includes different forms of acceptance testing (e.g., user acceptance, operational acceptance, regulatory acceptance) and is frequently written or conducted by end-users or stakeholders to confirm the system’s readiness for use. Acceptance tests, often defined by business stakeholders in approaches like Acceptance Test-Driven Development (ATDD), can be automated and executed earlier in the development process. This ensures that the solution aligns with business requirements from the start and provides immediate feedback, reducing costly changes later.
40
+
-**Acceptance Testing**: Aims to validate that the system meets business requirements and is ready for deployment or release. This often includes different forms of <GlossaryTerm term={"Acceptance Testing"}>acceptance testing</GlossaryTerm> (e.g., user acceptance, operational acceptance, regulatory acceptance) and is frequently written or conducted by end-users or stakeholders to confirm the system’s readiness for use. Acceptance tests, often defined by business stakeholders in approaches like Acceptance <GlossaryTerm term={"Test Case"}>Test</GlossaryTerm>-Driven Development (ATDD), can be automated and executed earlier in the development process. This ensures that the solution aligns with business requirements from the start and provides immediate feedback, reducing costly changes later.
39
41
40
42
-**End-to-End Testing**: Verifies that a complete workflow or process within the system operates as intended, covering all interconnected subsystems, interfaces, and external components. [End-to-end tests](/docs/glossary#end-to-end-test) ensure the correct functioning of the application in real-world scenarios by simulating user interactions from start to finish.
41
43
42
44
Robot Framework's flexibility and support for external libraries make it an excellent tool for automating these comprehensive [test cases](/docs/glossary#test-case), ensuring seamless interaction between components and validating the system's behavior also in production or production-like conditions.
43
45
44
-
Robot Framework is typically not used for **component testing** nor **integration testing** because its primary strength lies in higher-level testing, such as system, acceptance, and end-to-end testing, where behavior-driven and keyword-based approaches excel. Component testing requires low-level, granular tests focusing on individual units of code, often necessitating direct interaction with the codebase, mocking, or stubbing, which are better handled by unit testing frameworks like JUnit, pytest, or NUnit. Similarly, integration testing at a low level often requires precise control over service interactions, such as API stubs or protocol-level testing, which may not align with Robot Framework's abstraction-oriented design. While Robot Framework can technically handle these cases through custom libraries, its overhead and design philosophy make it less efficient compared to tools specifically tailored for low-level and tightly scoped testing tasks.
46
+
Robot Framework is typically not used for **component testing** nor **integration testing** because its primary strength lies in higher-level testing, such as system, acceptance, and end-to-end testing, where behavior-driven and <GlossaryTerm term={"Keyword"}>keyword</GlossaryTerm>-based approaches excel. Component testing requires low-level, granular tests focusing on individual units of code, often necessitating direct interaction with the codebase, mocking, or stubbing, which are better handled by unit testing frameworks like JUnit, pytest, or NUnit. Similarly, integration testing at a low level often requires precise control over service interactions, such as API stubs or protocol-level testing, which may not align with Robot Framework's abstraction-oriented design. While Robot Framework can technically handle these cases through custom libraries, its overhead and design philosophy make it less efficient compared to tools specifically tailored for low-level and tightly scoped testing <GlossaryTerm term={"Task"}>tasks</GlossaryTerm>.
45
47
46
48
47
49
### 1.1.1.1 Synthetic Monitoring
@@ -55,12 +57,13 @@ Beyond traditional [test levels](/docs/glossary#test-level), **Synthetic Monitor
55
57
[Robotic Process Automation](/docs/glossary#robotic-process-automation) (RPA) uses software bots to perform tasks and interactions normally performed by humans, without requiring changes to the underlying applications.
56
58
57
59
Robot Framework, with its keyword-driven approach, vast ecosystem of libraries, simplicity, and scalability, is widely adopted for [RPA](/docs/glossary#robotic-process-automation) tasks.
58
-
Robot Framework allows users to automate most workflows using ready-made keyword libraries that provide a wide range of functionalities. These libraries can be combined and reused in user-defined [keywords](/docs/glossary#keyword), making automation simple and efficient. For custom functionalities or more complex tasks, Robot Framework also offers the flexibility to create custom keyword libraries using Python, enabling advanced use cases and seamless integration with unique systems.
60
+
Robot Framework allows users to automate most workflows using ready-made <GlossaryTerm term={"Keyword Library"}>keyword libraries</GlossaryTerm> that provide a wide range of functionalities. These libraries can be combined and reused in user-defined [keywords](/docs/glossary#keyword), making automation simple and efficient. For custom functionalities or more complex tasks, Robot Framework also offers the flexibility to create custom keyword libraries using Python, enabling advanced use cases and seamless integration with unique systems.
59
61
60
-
Common use cases of RPA with Robot Framework include:
62
+
Common use cases of <GlossaryTerm term={"Robotic Process Automation"}>RPA</GlossaryTerm> with Robot Framework include:
61
63
62
64
-**Data extraction and manipulation**: Automating data transfers and processing between systems.
63
65
-**Task / Process automation**: Automating tasks such as form submissions, clicks, and file operations across web or desktop applications.
Copy file name to clipboardExpand all lines: website/docs/chapter-01/02_architecture.md
+11-8Lines changed: 11 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,5 @@
1
+
import GlossaryTerm from '@site/src/components/Glossary/GlossaryTerm';
2
+
1
3
# 1.2 Architecture of Robot Framework
2
4
3
5
Robot Framework is an open-source automation framework that allows you to build [automation scripts](/docs/glossary#automation-script) for testing and [RPA](/docs/glossary#robotic-process-automation) (Robotic Process Automation).
@@ -19,22 +21,22 @@ Recall the layers of the Generic Test Automation Architecture (gTAA) and their c
19
21
20
22
::::
21
23
22
-
The **Generic Test Automation Architecture (gTAA)** described in the ISTQB "Certified Tester Advanced Level Test Automation Engineering" offers a structured approach to [test](/docs/glossary#test-case) automation, dividing it into different layers for a clear separation of concerns:
24
+
The **Generic Test Automation Architecture (gTAA)** described in the ISTQB "Certified Tester Advanced Level <GlossaryTerm term={"Test Case"}>Test</GlossaryTerm> Automation Engineering" offers a structured approach to [test](/docs/glossary#test-case) automation, dividing it into different layers for a clear separation of concerns:
23
25
24
-
-**Definition Layer**: This layer contains the "[Test Data](/docs/glossary#test-data)" ([test cases](/docs/glossary#test-case), tasks, [resource files](/docs/glossary#resource-file) which include [user keywords](/docs/glossary#user-keyword) and variables).
25
-
In Robot Framework, the test data is written using the defined syntax and contains keyword calls and [argument](/docs/glossary#argument) values that make the [test case](/docs/glossary#test-case) or [task](/docs/glossary#task) definitions structured in suites.
26
+
-**Definition Layer**: This layer contains the "[Test Data](/docs/glossary#test-data)" ([test cases](/docs/glossary#test-case), <GlossaryTerm term={"Task"}>tasks</GlossaryTerm>, [resource files](/docs/glossary#resource-file) which include [user keywords](/docs/glossary#user-keyword) and variables).
27
+
In Robot Framework, the <GlossaryTerm term={"Test Data"}>test data</GlossaryTerm> is written using the defined syntax and contains <GlossaryTerm term={"Keyword"}>keyword</GlossaryTerm> calls and [argument](/docs/glossary#argument) values that make the [test case](/docs/glossary#test-case) or [task](/docs/glossary#task) definitions structured in suites.
26
28
27
29
-**Execution Layer**: In Robot Framework, the [execution layer](/docs/glossary#execution-layer) consists of the framework itself, including its core components and APIs.
28
30
It parses and interprets the test data syntax to build an [execution model](/docs/glossary#execution-model).
29
-
The execution layer is responsible for processing this execution model to execute the library [keywords](/docs/glossary#keyword) with their argument values, logging results, and generating reports.
31
+
The <GlossaryTerm term={"Execution Layer"}>execution layer</GlossaryTerm> is responsible for processing this <GlossaryTerm term={"Execution Model"}>execution model</GlossaryTerm> to execute the library [keywords](/docs/glossary#keyword) with their <GlossaryTerm term={"Argument"}>argument</GlossaryTerm> values, logging results, and generating reports.
30
32
31
33
-**Adaptation Layer**: This layer provides the connection between Robot Framework and the system under test (SUT).
32
34
In Robot Framework, this is where the [keyword libraries](/docs/glossary#keyword-library), which contain code responsible for interacting with different technologies and interfaces,
33
35
such as those for UI, API, database interactions, or others, are located.
34
-
These keyword libraries enable interaction with different technologies and interfaces, ensuring the automation is flexible and adaptable to various environments.
36
+
These <GlossaryTerm term={"Keyword Library"}>keyword libraries</GlossaryTerm> enable interaction with different technologies and interfaces, ensuring the automation is flexible and adaptable to various environments.
35
37
36
38
Editors/IDEs that offer support for Robot Framework's syntax are tools that support or integrate in these layers.
37
-
When writing tests|tasks or keywords, the editor supports the [definition layer](/docs/glossary#definition-layer).
39
+
When writing tests|tasks or <GlossaryTerm term={"Keyword"}>keywords</GlossaryTerm>, the editor supports the [definition layer](/docs/glossary#definition-layer).
38
40
When executing or debugging tests|tasks, the editor supports the execution layer.
39
41
When writing keywords in e.g. Python for keyword libraries, the editor supports the [adaptation layer](/docs/glossary#adaptation-layer).
40
42
Therefore also other additional extensions of Robot Framework can be categorized into these layers.
@@ -54,7 +56,7 @@ Recall what is part of Robot Framework and what is not
54
56
::::
55
57
56
58
57
-
Robot Framework itself focuses primarily on **test|task execution**.
59
+
Robot Framework itself focuses primarily on **test|<GlossaryTerm term={"Task"}>task</GlossaryTerm> execution**.
58
60
It includes:
59
61
60
62
- A parser to read test|task data and build an execution model.
@@ -65,7 +67,7 @@ It includes:
65
67
66
68
However, Robot Framework **does not** include:
67
69
68
-
- Keyword libraries to control systems under test/RPA.
70
+
- Keyword libraries to control systems under test/<GlossaryTerm term={"Robotic Process Automation"}>RPA</GlossaryTerm>.
69
71
70
72
Such as:
71
73
- Web front-end automation libraries.
@@ -103,3 +105,4 @@ Robot Framework itself does not have any external dependencies, but additional t
0 commit comments