{"id":22798996,"url":"https://github.com/robotframework/robotframework-rfcp-syllabus","last_synced_at":"2025-04-19T16:43:26.182Z","repository":{"id":267633591,"uuid":"691954664","full_name":"robotframework/robotframework-RFCP-syllabus","owner":"robotframework","description":"Working area related to Robot Framework certifications","archived":false,"fork":false,"pushed_at":"2025-01-24T18:07:08.000Z","size":11657,"stargazers_count":10,"open_issues_count":2,"forks_count":6,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-03-29T10:22:49.744Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robotframework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-15T08:41:36.000Z","updated_at":"2025-02-16T09:12:36.000Z","dependencies_parsed_at":"2024-12-11T14:33:38.024Z","dependency_job_id":"cf4b35d6-0263-482e-ad46-b48478426698","html_url":"https://github.com/robotframework/robotframework-RFCP-syllabus","commit_stats":null,"previous_names":["robotframework/robotframework-rfcp-syllabus"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotframework%2Frobotframework-RFCP-syllabus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotframework%2Frobotframework-RFCP-syllabus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotframework%2Frobotframework-RFCP-syllabus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotframework%2Frobotframework-RFCP-syllabus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robotframework","download_url":"https://codeload.github.com/robotframework/robotframework-RFCP-syllabus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249740698,"owners_count":21318703,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-12T07:07:29.009Z","updated_at":"2025-04-19T16:43:26.174Z","avatar_url":"https://github.com/robotframework.png","language":"CSS","readme":"# Table of Contents\n\n- [`1 Introduction to Robot Framework`](website/docs/chapter-01/00_overview.md)\n- [`1.1 Purpose / Use Cases`](website/docs/chapter-01/01_purpose.md)\n- LO-1.1 (K1) Recall the two main use cases of Robot Framework\n- [`1.1.1 Test Automation`](website/docs/chapter-01/01_purpose.md#111-test-automation)\n  - LO-1.1.1 (K1) Recall the test levels Robot Framework is mostly used for\n  - [`1.1.1.1 Synthetic Monitoring`](website/docs/chapter-01/01_purpose.md#1111-synthetic-monitoring)\n- [`1.1.2 Robotic Process Automation (RPA)`](website/docs/chapter-01/01_purpose.md#112-robotic-process-automation-rpa)\n- [`1.2 Architecture of Robot Framework`](website/docs/chapter-01/02_architecture.md)\n- [`1.2.1 Robot Framework and the gTAA (Generic Test Automation Architecture)`](website/docs/chapter-01/02_architecture.md#121-robot-framework-and-the-gtaa-generic-test-automation-architecture)\n  - LO-1.2.1 (K1) Recall the layers of the Generic Test Automation Architecture (gTAA) and their corresponding components in Robot Framework\n- [`1.2.2 What is Robot Framework \u0026 What It Is Not`](website/docs/chapter-01/02_architecture.md#122-what-is-robot-framework--what-it-is-not)\n  - LO-1.2.2 (K1) Recall what is part of Robot Framework and what is not\n- [`1.2.3 Technology \u0026 Prerequisites`](website/docs/chapter-01/02_architecture.md#123-technology--prerequisites)\n  - LO-1.2.3 (K1) Recall the technology Robot Framework is built on and the prerequisites for running it\n- [`1.3 Basic Syntax \u0026 Structure`](website/docs/chapter-01/03_syntax.md)\n- LO-1.3 (K1) Recall the key attributes of the syntax that makes Robot Framework simple and human-readable\n- [`1.3.1 What are Test Cases / Tasks?`](website/docs/chapter-01/03_syntax.md#131-what-are-test-cases--tasks)\n- [`1.3.2 Files \u0026 Directories`](website/docs/chapter-01/03_syntax.md#132-files--directories)\n- [`1.3.3 What are Keywords?`](website/docs/chapter-01/03_syntax.md#133-what-are-keywords)\n  - LO-1.3.3 (K2) Explain the difference between User Keywords and Library Keywords\n- [`1.3.4 Resource Files \u0026 Libraries`](website/docs/chapter-01/03_syntax.md#134-resource-files--libraries)\n  - LO-1.3.4 (K1) Recall the difference between Resource Files and Libraries and their artifacts\n- [`1.4 Specification Styles`](website/docs/chapter-01/04_styles.md)\n- LO-1.4 (K1) Recall the three specification styles of Robot Framework\n- [`1.4.1 Keyword-Driven Specification`](website/docs/chapter-01/04_styles.md#141-keyword-driven-specification)\n  - LO-1.4.1 (K2) Understand the basic concepts of Keyword-Driven Specification\n- [`1.4.2 Behavior-Driven Specification`](website/docs/chapter-01/04_styles.md#142-behavior-driven-specification)\n  - LO-1.4.2 (K2) Understand the basic concepts of Behavior-Driven Specification\n- [`1.4.3 Comparing Keyword-Driven and Behavior-Driven Specification`](website/docs/chapter-01/04_styles.md#143-comparing-keyword-driven-and-behavior-driven-specification)\n  - LO-1.4.3 (K1) Recall the differences between Keyword-Driven and Behavior-Driven Specification\n- [`1.4.4 Data-Driven Specification`](website/docs/chapter-01/04_styles.md#144-data-driven-specification)\n  - LO-1.4.4 (K1) Recall the purpose of Data-Driven Specification\n- [`1.5 Organization and Licensing`](website/docs/chapter-01/05_organization.md)\n- [`1.5.1 Open Source License`](website/docs/chapter-01/05_organization.md#151-open-source-license)\n  - LO-1.5.1 (K1) Recall the type of open-source license under which Robot Framework is distributed\n- [`1.5.2 About the Robot Framework Foundation`](website/docs/chapter-01/05_organization.md#152-about-the-robot-framework-foundation)\n  - LO-1.5.2 (K1) List and recall the key objectives and organizational form of the Robot Framework Foundation\n- [`1.5.3 Robot Framework Webpages`](website/docs/chapter-01/05_organization.md#153-robot-framework-webpages)\n  - LO-1.5.3 (K1) Recall the official webpages for Robot Framework and its resources\n- [`2 Getting Started with Robot Framework`](website/docs/chapter-02/00_overview.md)\n- [`2.1 Suite File \u0026 Tree Structure`](website/docs/chapter-02/01_suitefile.md)\n- LO-2.1 (K2) Understand which files and directories are considered suites and how they are structured in a suite tree.\n- [`2.1.1 Suite Files`](website/docs/chapter-02/01_suitefile.md#211-suite-files)\n  - LO-2.1.1 (K1) Recall the conditions and requirements for a file to be considered a Suite file\n- [`2.1.2 Sections and Their Artifacts`](website/docs/chapter-02/01_suitefile.md#212-sections-and-their-artifacts)\n  - LO-2.1.2 (K1) Recall the available sections in a suite file and their purpose.\n  - [`2.1.2.1 Introduction in `*** Settings ***` Section`](website/docs/chapter-02/01_suitefile.md#2121-introduction-in--settings--section)\n    - LO-2.1.2.1-1 (K1) Recall the available settings in a suite file.\n    - LO-2.1.2.1-2 (K2) Understand the concepts of suite settings and how to define them.\n  - [`2.1.2.2 Introduction in `*** Variables ***` Section`](website/docs/chapter-02/01_suitefile.md#2122-introduction-in--variables--section)\n    - LO-2.1.2.2 (K1) Recall the purpose of the `*** Variables ***` section.\n  - [`2.1.2.3 Introduction in `*** Test Cases ***` or `*** Tasks ***` Section`](website/docs/chapter-02/01_suitefile.md#2123-introduction-in--test-cases--or--tasks--section)\n    - LO-2.1.2.3 (K2) Understand the purpose of the `*** Test Cases ***` or `*** Tasks ***` section.\n  - [`2.1.2.4 Introduction in `*** Keywords ***` Section`](website/docs/chapter-02/01_suitefile.md#2124-introduction-in--keywords--section)\n    - LO-2.1.2.4 (K2) Understand the purpose and limitations of the `*** Keywords ***` section.\n  - [`2.1.2.5 Introduction in `*** Comments ***` Section`](website/docs/chapter-02/01_suitefile.md#2125-introduction-in--comments--section)\n- [`2.2 Basic Suite File Syntax`](website/docs/chapter-02/02_suitefile_syntax.md)\n- LO-2.2 (K2) Understand the basic syntax of test cases and tasks.\n- [`2.2.1 Separation and Indentation`](website/docs/chapter-02/02_suitefile_syntax.md#221-separation-and-indentation)\n  - LO-2.2.1 (K3) Understand and apply the mechanics of indentation and separation in Robot Framework.\n- [`2.2.2 Line Breaks, Continuation and Empty Lines`](website/docs/chapter-02/02_suitefile_syntax.md#222-line-breaks-continuation-and-empty-lines)\n  - LO-2.2.2 (K3) Be able to use line breaks and continuation in a statement.\n- [`2.2.3 In-line Comments`](website/docs/chapter-02/02_suitefile_syntax.md#223-in-line-comments)\n  - LO-2.2.3 (K3) Be able to add in-line comments to suites.\n- [`2.2.4 Escaping of Control Characters`](website/docs/chapter-02/02_suitefile_syntax.md#224-escaping-of-control-characters)\n  - LO-2.2.4 (K2) Understand how to escape control characters in Robot Framework.\n- [`2.2.5 Example Suite File`](website/docs/chapter-02/02_suitefile_syntax.md#225-example-suite-file)\n  - LO-2.2.5 (K2) Understand the structure of a basic suite file.\n- [`2.3 Executing Robot`](website/docs/chapter-02/03_executing.md)\n- LO-2.3 (K1) Recall the three components of the Robot Framework CLI.\n- [`2.3.1 `robot` command \u0026 help`](website/docs/chapter-02/03_executing.md#231-robot-command--help)\n  - LO-2.3.1 (K2) Understand how to run the `robot` command and its basic usage.\n- [`2.3.2 Execution Artifacts`](website/docs/chapter-02/03_executing.md#232-execution-artifacts)\n  - LO-2.3.2 (K2) Explain the execution artifacts generated by Robot Framework.\n- [`2.3.3 Status`](website/docs/chapter-02/03_executing.md#233-status)\n  - LO-2.3.3 (K1) Recall the four different status labels used by Robot Framework.\n  - [`2.3.3.1 PASS`](website/docs/chapter-02/03_executing.md#2331-pass)\n    - LO-2.3.3.1 (K2) Understand when an element is marked as `PASS`.\n  - [`2.3.3.2 FAIL`](website/docs/chapter-02/03_executing.md#2332-fail)\n    - LO-2.3.3.2 (K2) Understand when an element is marked as `FAIL`.\n- [`2.3.4 Logging possibilities (Log vs Console)`](website/docs/chapter-02/03_executing.md#234-logging-possibilities-log-vs-console)\n  - LO-2.3.4 (K2) Understand the difference between log messages and console output.\n- [`2.4 Keyword Imports`](website/docs/chapter-02/04_keyword_imports.md)\n- [`2.4.1 Libraries`](website/docs/chapter-02/04_keyword_imports.md#241-libraries)\n  - LO-2.4.1-1 (K1) Recall the purpose of keyword libraries and how to import them.\n  - LO-2.4.1-2 (K1) Recall the three types of libraries in Robot Framework.\n- [`2.4.2 Resource Files`](website/docs/chapter-02/04_keyword_imports.md#242-resource-files)\n  - LO-2.4.2-1 (K1) Recall the purpose of resource files.\n  - LO-2.4.2-2 (K3) Use resource files to import new keywords.\n- [`2.4.3 Import Paths`](website/docs/chapter-02/04_keyword_imports.md#243-import-paths)\n  - LO-2.4.3 (K2) Understand the different types of paths that can be used to import libraries and resource files.\n- [`2.5 Keyword Interface and Documentation`](website/docs/chapter-02/05_keyword_interface.md)\n- LO-2.5 (K2) Understand the structure of keyword interfaces and how to interpret keyword documentation.\n- [`2.5.1 Documented Keyword Information`](website/docs/chapter-02/05_keyword_interface.md#251-documented-keyword-information)\n  - LO-2.5.1 (K1) Recall the information that can be found in a keyword documentation.\n  - [`2.5.1.1 Example Keyword `Should Be Equal``](website/docs/chapter-02/05_keyword_interface.md#2511-example-keyword-should-be-equal)\n  - [`2.5.1.2 Example Keyword `Run Process``](website/docs/chapter-02/05_keyword_interface.md#2512-example-keyword-run-process)\n  - [`2.5.1.3 Example Keyword `Get Regexp Matches``](website/docs/chapter-02/05_keyword_interface.md#2513-example-keyword-get-regexp-matches)\n- [`2.5.2 Keyword Arguments`](website/docs/chapter-02/05_keyword_interface.md#252-keyword-arguments)\n  - LO-2.5.2 (K2) Understand the difference between argument kinds.\n  - [`2.5.2.1 Mandatory Arguments`](website/docs/chapter-02/05_keyword_interface.md#2521-mandatory-arguments)\n    - LO-2.5.2.1 (K2) Understand the concept of mandatory arguments and how they are documented.\n  - [`2.5.2.2 Optional Arguments`](website/docs/chapter-02/05_keyword_interface.md#2522-optional-arguments)\n    - LO-2.5.2.2 (K2) Understand the concept of optional arguments and how they are documented.\n  - [`2.5.2.3 Embedded Arguments`](website/docs/chapter-02/05_keyword_interface.md#2523-embedded-arguments)\n    - LO-2.5.2.3 (K1) Recall the concept of keywords with embedded arguments used in Behavior-Driven Specification and how they are documented.\n  - [`2.5.2.4 Positional or Named Arguments`](website/docs/chapter-02/05_keyword_interface.md#2524-positional-or-named-arguments)\n    - LO-2.5.2.4 (K1) Recall how \"Positional or Named Arguments\" are marked in the documentation and their use case.\n  - [`2.5.2.5 Variable Number of Positional Arguments`](website/docs/chapter-02/05_keyword_interface.md#2525-variable-number-of-positional-arguments)\n    - LO-2.5.2.5 (K1) Recall how \"Variable Number of Positional Arguments\" are marked in the documentation and their use case.\n  - [`2.5.2.6 Named-Only Arguments`](website/docs/chapter-02/05_keyword_interface.md#2526-named-only-arguments)\n    - LO-2.5.2.6 (K1) Recall what properties \"Named-Only Arguments\" have and how they are documented.\n  - [`2.5.2.7 Free Named Arguments`](website/docs/chapter-02/05_keyword_interface.md#2527-free-named-arguments)\n    - LO-2.5.2.7 (K1) Recall how free named arguments are marked in documentation.\n  - [`2.5.2.8 Argument Types`](website/docs/chapter-02/05_keyword_interface.md#2528-argument-types)\n    - LO-2.5.2.8 (K2) Understand the concept of argument types and automatic type conversion.\n  - [`2.5.2.9 Return Types`](website/docs/chapter-02/05_keyword_interface.md#2529-return-types)\n    - LO-2.5.2.9 (K2) Understand the concept of return type hints.\n- [`2.5.3 Keyword Documentation \u0026 Examples`](website/docs/chapter-02/05_keyword_interface.md#253-keyword-documentation--examples)\n  - LO-2.5.3 (K2) Understand how to read keyword documentation and how to interpret the examples.\n- [`2.6 Writing Test|Task and Calling Keywords`](website/docs/chapter-02/06_writing_test.md)\n- LO-2.6 (K2) Understand how to call imported keywords and how to structure keyword calls.\n- [`2.6.1 Positional Arguments`](website/docs/chapter-02/06_writing_test.md#261-positional-arguments)\n  - LO-2.6.1 (K2) Understand the concept of how to set argument values positionally.\n- [`2.6.2 Named Arguments`](website/docs/chapter-02/06_writing_test.md#262-named-arguments)\n  - LO-2.6.2 (K2) Understand the concept of named arguments and how to set argument values by their name.\n- [`2.6.3 Embedded Arguments / Using Behavior-Driven Specification`](website/docs/chapter-02/06_writing_test.md#263-embedded-arguments--using-behavior-driven-specification)\n  - LO-2.6.3 (K1) Recall how to use embedded arguments.\n- [`3 Keyword Design, Variables, and Resource Files`](website/docs/chapter-03/00_overview.md)\n- [`3.1 Resource File Structure`](website/docs/chapter-03/01_resource_file.md)\n- [`3.1.1 Sections in Resource Files`](website/docs/chapter-03/01_resource_file.md#311-sections-in-resource-files)\n- [`3.2 Variables`](website/docs/chapter-03/02_variables.md)\n- LO-3.2-1 (K2) Understand how variables in Robot Framework are used to store and manage data\n- LO-3.2-2 (K1) Recall the relevant five different ways to create and assign variables\n- [`3.2.1 Variable Syntax and Access Types`](website/docs/chapter-03/02_variables.md#321-variable-syntax-and-access-types)\n  - LO-3.2.1-1 (K1) Recall the four syntactical access types to variables with their prefixes\n  - LO-3.2.1-2 (K1) Recall the basic syntax of variables\n- [`3.2.2 `*** Variables ***` Section`](website/docs/chapter-03/02_variables.md#322--variables--section)\n  - LO-3.2.2-1 (K3) Create variables in the Variables section\n  - LO-3.2.2-2 (K3) Use the correct variable prefixes for assigning and accessing variables\n  - [`3.2.2.1 Scalar Variable Definition`](website/docs/chapter-03/02_variables.md#3221-scalar-variable-definition)\n    - LO-3.2.2.1-1 (K3) Create and assign scalar variables\n    - LO-3.2.2.1-2 (K2) Understand how multiple lines can be used to define scalar variables\n  - [`3.2.2.2 Primitive Data Types`](website/docs/chapter-03/02_variables.md#3222-primitive-data-types)\n    - LO-3.2.2.2 (K2) Understand how to access primitive data types\n  - [`3.2.2.3 List Variable Definition`](website/docs/chapter-03/02_variables.md#3223-list-variable-definition)\n    - LO-3.2.2.3 (K2) Understand how to set and access data in list variables\n  - [`3.2.2.4 Dictionary Variable Definition`](website/docs/chapter-03/02_variables.md#3224-dictionary-variable-definition)\n    - LO-3.2.2.4 (K2) Understand how to set and access data in dict variables\n- [`3.2.3 Return values from Keywords`](website/docs/chapter-03/02_variables.md#323-return-values-from-keywords)\n  - LO-3.2.3 (K3) Be able to assign return values from keywords to variables\n  - [`3.2.3.1 Assigning to Scalar Variables`](website/docs/chapter-03/02_variables.md#3231-assigning-to-scalar-variables)\n- [`3.2.4 `VAR` Statement`](website/docs/chapter-03/02_variables.md#324-var-statement)\n  - LO-3.2.4 (K2) Understand how to create variables using the VAR statement\n- [`3.2.5 Variable Scope Introduction`](website/docs/chapter-03/02_variables.md#325-variable-scope-introduction)\n  - LO-3.2.5 (K2) Understand how `local` and `suite` scope variables are created\n- [`3.3 User Keyword Definition \u0026 Arguments`](website/docs/chapter-03/03_user_keyword.md)\n- [`3.3.1 `*** Keywords ***` Section`](website/docs/chapter-03/03_user_keyword.md#331--keywords--section)\n- [`3.3.2 User Keyword Names`](website/docs/chapter-03/03_user_keyword.md#332-user-keyword-names)\n  - LO-3.3.2 (K1) Recall the rules how keyword names are matched.\n- [`3.3.3 User Keyword Settings`](website/docs/chapter-03/03_user_keyword.md#333-user-keyword-settings)\n  - LO-3.3.3 (K1) Recall all available settings and their purpose for User Keywords\n- [`3.3.4 User Keyword Documentation`](website/docs/chapter-03/03_user_keyword.md#334-user-keyword-documentation)\n  - LO-3.3.4 (K1) Recall the significance of the first logical line and in keyword documentation for the log file.\n- [`3.3.5 User Keyword Arguments`](website/docs/chapter-03/03_user_keyword.md#335-user-keyword-arguments)\n  - LO-3.3.5 (K2) Understand the purpose and syntax of the [Arguments] setting in User Keywords.\n  - [`3.3.5.1 Defining Mandatory Arguments`](website/docs/chapter-03/03_user_keyword.md#3351-defining-mandatory-arguments)\n    - LO-3.3.5.1-1 (K1) Recall what makes an argument mandatory in a user keyword.\n    - LO-3.3.5.1-2 (K3) Define User Keywords with mandatory arguments.\n  - [`3.3.5.2 Defining Optional Arguments`](website/docs/chapter-03/03_user_keyword.md#3352-defining-optional-arguments)\n    - LO-3.3.5.2-1 (K1) Recall how to define optional arguments in a user keyword.\n    - LO-3.3.5.2-2 (K3) Define User Keywords with optional arguments.\n  - [`3.3.5.3 Defining Embedded Arguments`](website/docs/chapter-03/03_user_keyword.md#3353-defining-embedded-arguments)\n    - LO-3.3.5.3-1 (K2) Describe how embedded arguments are replaced by actual values during keyword execution.\n    - LO-3.3.5.3-2 (K2) Understand the role of embedded arguments in Behavior-Driven Development (BDD) style.\n  - [`3.3.5.4 Other Argument Kinds`](website/docs/chapter-03/03_user_keyword.md#3354-other-argument-kinds)\n- [`3.3.6 RETURN Statement`](website/docs/chapter-03/03_user_keyword.md#336-return-statement)\n  - LO-3.3.6-1 (K2) Understand how the `RETURN` statement passes data between different keywords.\n  - LO-3.3.6-2 (K3) Use the `RETURN` statement to return values from a user keyword and assign it to a variable.\n- [`3.3.7 Keyword Conventions`](website/docs/chapter-03/03_user_keyword.md#337-keyword-conventions)\n  - LO-3.3.7 (K1) Recall the naming conventions for user keywords.\n- [`3.4 Using Data-Driven Specification`](website/docs/chapter-03/04_datadriven.md)\n- LO-3.4 (K2) Understand the basic concept and syntax of Data-Driven Specification\n- [`3.4.1 Test|Task Templates`](website/docs/chapter-03/04_datadriven.md#341-testtask-templates)\n  - LO-3.4.1-1 (K2) Understand how to define and use test|task templates\n  - LO-3.4.1-2 (K1) Recall the differences between the two different approaches to define Data-Driven Specification\n  - [`3.4.1.1 Multiple Named Test|Task With One Template`](website/docs/chapter-03/04_datadriven.md#3411-multiple-named-testtask-with-one-template)\n    - LO-3.4.1.1 (K1) Recall the syntax and properties of multiple named test|task with one template\n  - [`3.4.1.2 Named Test|Task With Multiple Data Rows:`](website/docs/chapter-03/04_datadriven.md#3412-named-testtask-with-multiple-data-rows)\n    - LO-3.4.1.2 (K1) Recall the syntax and properties of named test|task with multiple data rows\n- [`3.5 Advanced Importing of Keywords and Naming Conflicts`](website/docs/chapter-03/05_advanced_importing.md)\n- LO-3.5 (K1) Recall that naming conflicts can arise from the import of multiple resource files.\n- [`3.5.1 Importing Hierarchies`](website/docs/chapter-03/05_advanced_importing.md#351-importing-hierarchies)\n  - LO-3.5.1 (K2) Understand how transitive imports of resource files and libraries work.\n- [`3.5.2 Library Configuration`](website/docs/chapter-03/05_advanced_importing.md#352-library-configuration)\n  - LO-3.5.2 (K3) Be able to configure a library import using arguments.\n- [`3.5.3 Naming Conflicts`](website/docs/chapter-03/05_advanced_importing.md#353-naming-conflicts)\n  - LO-3.5.3 (K2) Explain how naming conflicts can happen and how to mitigate them.\n- [`4 Advanced Structuring and Execution`](website/docs/chapter-04/00_overview.md)\n- [`4.1 Setups (Suite, Test|Task, Keyword)`](website/docs/chapter-04/01_setups.md)\n- LO-4.1-1 (K1) Recall the purpose and benefits of Setups in Robot Framework\n- LO-4.1-2 (K1) Recall the different levels where a Setup can be defined\n- [`4.1.1 Suite Setup`](website/docs/chapter-04/01_setups.md#411-suite-setup)\n  - LO-4.1.1-1 (K1) Recall key characteristics, benefits, and syntax of Suite Setup\n  - LO-4.1.1-2 (K2) Understand when Suite Setup is executed and used\n- [`4.1.2 Test|Task Setup`](website/docs/chapter-04/01_setups.md#412-testtask-setup)\n  - LO-4.1.2-1 (K1) Recall key characteristics, benefits, and syntax of Test Setup\n  - LO-4.1.2-2 (K2) Understand when Test|Task Setup is executed and used\n- [`4.1.3 Keyword Setup`](website/docs/chapter-04/01_setups.md#413-keyword-setup)\n  - LO-4.1.3 (K1) Recall key characteristics and syntax of Keyword Setup\n- [`4.2 Teardowns (Suite, Test|Task, Keyword)`](website/docs/chapter-04/02_teardowns.md)\n- LO-4.2-1 (K2) Understand the different levels where and how Teardowns can be defined and when they are executed\n- LO-4.2-2 (K1) Recall the typical use cases for using Teardowns\n- [`4.2.1 Suite Teardown`](website/docs/chapter-04/02_teardowns.md#421-suite-teardown)\n  - LO-4.2.1-1 (K1) Recall key characteristics, benefits, and syntax of Suite Teardown\n  - LO-4.2.1-2 (K2) Understand when Suite Teardown is executed and used\n- [`4.2.2 Test|Task Teardown`](website/docs/chapter-04/02_teardowns.md#422-testtask-teardown)\n  - LO-4.2.2-1 (K1) Recall key characteristics, benefits, and syntax of Test|Task Teardown\n  - LO-4.2.2-2 (K2) Understand when Test|Task Teardown is executed and used\n- [`4.2.3 Keyword Teardown`](website/docs/chapter-04/02_teardowns.md#423-keyword-teardown)\n  - LO-4.2.3 (K1) Recall key characteristics, benefits, and syntax of Keyword Teardown\n- [`4.3 Initialization Files`](website/docs/chapter-04/03_init_files.md)\n- LO-4.3 (K1) Recall how to define an Initialization Files and its purpose\n- [`4.3.1 Purpose of Initialization Files`](website/docs/chapter-04/03_init_files.md#431-purpose-of-initialization-files)\n- [`4.3.2 Suite Setup and Suite Teardown of Initialization Files`](website/docs/chapter-04/03_init_files.md#432-suite-setup-and-suite-teardown-of-initialization-files)\n  - LO-4.3.2 (K2) Understand the execution order of Suite Setup and Suite Teardown in Initialization Files and their sub-suites and tests|tasks\n- [`4.3.3 Allowed Sections in Initialization Files`](website/docs/chapter-04/03_init_files.md#433-allowed-sections-in-initialization-files)\n  - LO-4.3.3 (K1) Recall the allowed sections and their content in Initialization Files\n- [`4.3.4 Example of an Initialization File`](website/docs/chapter-04/03_init_files.md#434-example-of-an-initialization-file)\n- [`4.4 Test|Task Tags and Filtering Execution`](website/docs/chapter-04/04_tags.md)\n- LO-4.4 (K1) Recall the purpose of Test|Task Tags in Robot Framework\n- [`4.4.1 Assigning Tags to Tests|Tasks`](website/docs/chapter-04/04_tags.md#441-assigning-tags-to-teststasks)\n  - LO-4.4.1 (K1) Recall the syntax and different ways to assign tags to tests|tasks\n- [`4.4.2 Using Tags to Filter Execution`](website/docs/chapter-04/04_tags.md#442-using-tags-to-filter-execution)\n  - LO-4.4.2 (K2) Understand how to filter tests|tasks using the command-line interface of Robot Framework\n  - [`4.4.2.1 Including Tests|Tasks by Tags`](website/docs/chapter-04/04_tags.md#4421-including-teststasks-by-tags)\n  - [`4.4.2.2 Excluding Tests|Tasks by Tags`](website/docs/chapter-04/04_tags.md#4422-excluding-teststasks-by-tags)\n  - [`4.4.2.3 Combining Include and Exclude Options`](website/docs/chapter-04/04_tags.md#4423-combining-include-and-exclude-options)\n  - [`4.4.2.4 Using Tag Patterns`](website/docs/chapter-04/04_tags.md#4424-using-tag-patterns)\n- [`4.4.3 Reserved Tags`](website/docs/chapter-04/04_tags.md#443-reserved-tags)\n- [`4.5 SKIP Test|Task Status`](website/docs/chapter-04/05_skip.md)\n- LO-4.5-1 (K1) Recall the use case and purpose of skipping tests|tasks in Robot Framework\n- LO-4.5-2 (K1) Recall the different ways to skip tests|tasks in Robot Framework\n- [`4.5.1 Skipping By Tags Selection (CLI)`](website/docs/chapter-04/05_skip.md#451-skipping-by-tags-selection-cli)\n  - LO-4.5.1 (K1) Recall the differences between skip and exclude\n- [`4.5.2 Skipping Dynamically During Execution`](website/docs/chapter-04/05_skip.md#452-skipping-dynamically-during-execution)\n- [`4.5.3 Automatically Skipping Failed Tests`](website/docs/chapter-04/05_skip.md#453-automatically-skipping-failed-tests)\n- [`5 Exploring Advanced Constructs`](website/docs/chapter-05/00_overview.md)\n- [`5.1 Advanced Variables`](website/docs/chapter-05/01_advanced_variables.md)\n- [`5.1.1 Variable Priorities`](website/docs/chapter-05/01_advanced_variables.md#511-variable-priorities)\n  - LO-5.1.1 (K2) Understand the difference between statically defined and dynamically created variables in Robot Framework\n  - [`5.1.1.1 Statically Defined or Imported Variables`](website/docs/chapter-05/01_advanced_variables.md#5111-statically-defined-or-imported-variables)\n    - LO-5.1.1.1 (K1) Recall the priority of statically defined or imported variables in Robot Framework\n  - [`5.1.1.2 Dynamically Created Variables`](website/docs/chapter-05/01_advanced_variables.md#5112-dynamically-created-variables)\n    - LO-5.1.1.2 (K1) Recall the priority of dynamically created variables in Robot Framework\n- [`5.1.2 Variable Scopes`](website/docs/chapter-05/01_advanced_variables.md#512-variable-scopes)\n  - LO-5.1.2 (K1) Recall the different variable scopes in Robot Framework\n  - [`5.1.2.1 . Global Scope`](website/docs/chapter-05/01_advanced_variables.md#5121--global-scope)\n    - LO-5.1.2.1 (K1) Recall how to define global variables and where they can be accessed\n  - [`5.1.2.2 . Suite Scope`](website/docs/chapter-05/01_advanced_variables.md#5122--suite-scope)\n    - LO-5.1.2.2 (K1) Recall how to define suite variables and where they can be accessed\n  - [`5.1.2.3 . Test|Task Scope`](website/docs/chapter-05/01_advanced_variables.md#5123--testtask-scope)\n    - LO-5.1.2.3 (K1) Recall how to define test|task variables and where they can be accessed\n  - [`5.1.2.4 . Local Scope`](website/docs/chapter-05/01_advanced_variables.md#5124--local-scope)\n    - LO-5.1.2.4 (K1) Recall how to define local variables and where they can be accessed\n- [`5.1.3 Global Variables via Command Line`](website/docs/chapter-05/01_advanced_variables.md#513-global-variables-via-command-line)\n- [`5.1.4 List-Variables (Advanced)`](website/docs/chapter-05/01_advanced_variables.md#514-list-variables-advanced)\n  - [`5.1.4.1 Assigning List Variables`](website/docs/chapter-05/01_advanced_variables.md#5141-assigning-list-variables)\n    - LO-5.1.4.1 (K1) Recall that assignments to `@{list}` variables convert values to lists automatically\n  - [`5.1.4.2 Accessing List Variables`](website/docs/chapter-05/01_advanced_variables.md#5142-accessing-list-variables)\n    - LO-5.1.4.2 (K1) Recall that `@{list}` unpacks the values of a list variable when accessed\n- [`5.1.5 Dict-Like`](website/docs/chapter-05/01_advanced_variables.md#515-dict-like)\n  - [`5.1.5.1 Assigning Dictionary Variables`](website/docs/chapter-05/01_advanced_variables.md#5151-assigning-dictionary-variables)\n    - LO-5.1.5.1 (K1) Recall that assignments to `\u0026{dict}` variables automatically convert values to Robot Framework Dictionaries and enable dot-access\n  - [`5.1.5.2 Accessing Dictionary Variables`](website/docs/chapter-05/01_advanced_variables.md#5152-accessing-dictionary-variables)\n    - LO-5.1.5.2 (K1) Recall that `\u0026{dict}` unpacks to multiple key=value pairs when accessed\n- [`5.1.6 Built-In Variables`](website/docs/chapter-05/01_advanced_variables.md#516-built-in-variables)\n  - LO-5.1.6 (K1) Recall that Robot Framework provides access to execution information via Built-In variables\n- [`5.2 Control Structures`](website/docs/chapter-05/02_control_structures.md)\n- [`5.2.1 IF Statements`](website/docs/chapter-05/02_control_structures.md#521-if-statements)\n  - LO-5.2.1 (K2) Understand the purpose and basic concept of IF-Statements\n  - [`5.2.1.1 Basic IF Syntax`](website/docs/chapter-05/02_control_structures.md#5211-basic-if-syntax)\n- [`5.2.2 IF/ELSE IF/ELSE Structure`](website/docs/chapter-05/02_control_structures.md#522-ifelse-ifelse-structure)\n- [`5.2.3 Inline IF Statement`](website/docs/chapter-05/02_control_structures.md#523-inline-if-statement)\n- [`5.2.4 FOR Loops`](website/docs/chapter-05/02_control_structures.md#524-for-loops)\n  - LO-5.2.4 (K2) Understand the purpose and basic concept of FOR Loops\n  - [`5.2.4.1 Basic FOR Loop Syntax`](website/docs/chapter-05/02_control_structures.md#5241-basic-for-loop-syntax)\n- [`5.2.5 WHILE Loops`](website/docs/chapter-05/02_control_structures.md#525-while-loops)\n  - LO-5.2.5 (K2) Understand the purpose and basic concept of WHILE Loops\n- [`5.2.6 BREAK and CONTINUE`](website/docs/chapter-05/02_control_structures.md#526-break-and-continue)\n  - LO-5.2.6 (K2) Understand the purpose and basic concept of the BREAK and CONTINUE statements\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotframework%2Frobotframework-rfcp-syllabus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobotframework%2Frobotframework-rfcp-syllabus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotframework%2Frobotframework-rfcp-syllabus/lists"}