From 764841c67dfa7f46fae03e39e22d4814d06abbe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=CC=81?= Date: Tue, 5 Mar 2024 10:31:39 +0100 Subject: [PATCH] fixed deployment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: René --- docs/index.html | 2 +- docs/js/app.8496aead.js | 1 + docs/service-worker.js | 2 +- src/content/resources/learning.js | 10 ---------- src/content/resources/libraries.mjs | 12 ++++++------ src/content/resources/tools.mjs | 6 ------ 6 files changed, 9 insertions(+), 24 deletions(-) create mode 100644 docs/js/app.8496aead.js diff --git a/docs/index.html b/docs/index.html index 410fda5b0..8181b105f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -17,4 +17,4 @@ l.pathname.slice(0, -1) + decoded + l.hash ); } - }(window.location))
\ No newline at end of file + }(window.location))
\ No newline at end of file diff --git a/docs/js/app.8496aead.js b/docs/js/app.8496aead.js new file mode 100644 index 000000000..606cf8019 --- /dev/null +++ b/docs/js/app.8496aead.js @@ -0,0 +1 @@ +(()=>{"use strict";var __webpack_modules__={41472:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var _System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(50124),_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(95082),_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(88478),_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(48534),core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(57327),core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_4__),core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(41539),core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_5__),core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(2707),core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_6__),core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(21249),core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7__),core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(92222),core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_8__),core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(83710),core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_9__),core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(89554),core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_10__),core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(54747),core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_11__),date_fns__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(28582),marked__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(87441),_icons_NewTabIcon__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(44479);const __WEBPACK_DEFAULT_EXPORT__={name:"Milestones",components:{NewTabIcon:_icons_NewTabIcon__WEBPACK_IMPORTED_MODULE_13__.Z},data:function(){return{milestones:[]}},computed:{milestonesSorted:function(){return{open:this.milestones.filter((function(e){var t=e.closed_at;return!t})),closed:this.milestones.filter((function(e){var t=e.closed_at;return t})).sort((function(e){return-1}))}}},created:function created(){var _this=this;return(0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_asyncToGenerator_js__WEBPACK_IMPORTED_MODULE_3__.Z)((0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__.Z)().mark((function _callee(){return(0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_regeneratorRuntime_js__WEBPACK_IMPORTED_MODULE_0__.Z)().wrap((function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:if(_this.$store.state.milestones.length){_context.next=3;break}return _context.next=3,fetch("./livedata/milestones.js").then((function(e){return e.text()})).then((function(str){return _this.$store.commit("SET_VALUE",{key:"milestones",value:eval(str)})}));case 3:_this.milestones=[].concat((0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_2__.Z)(_this.$store.state.milestones.filter((function(e){var t=e.due_on;return t})).sort((function(e,t){return new Date(e.due_on)>new Date(t.due_on)?1:-1}))),(0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_2__.Z)(_this.$store.state.milestones.filter((function(e){var t=e.due_on;return!t})))).map((function(e){return(0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_1__.Z)((0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_1__.Z)({},e),{},{descriptionExpanded:!1,issuesExpanded:!1,issuesTab:e.open_issues>0||0===e.closed_issues?"open":"closed"})})),_this.milestones.forEach((function(e){e.issues.items.sort((function(e,t){return e.reactions.total_count>t.reactions.total_count?-1:1}))})),_this.$nextTick((function(){_this.milestones.forEach((function(e){var t=document.getElementById("milestone-".concat(e.id,"-description"));t&&(t.childElementCount>1||t.firstChild&&t.firstChild.scrollHeight>t.firstChild.offsetHeight+25||(e.descriptionExpanded=!0))}))}));case 6:case"end":return _context.stop()}}),_callee)})))()},methods:{format:date_fns__WEBPACK_IMPORTED_MODULE_14__.Z,parseDescription:function(e){return marked__WEBPACK_IMPORTED_MODULE_12__.TU.parse(e)},parseIssueDescription:function(e){return marked__WEBPACK_IMPORTED_MODULE_12__.TU.parseInline(e)}}}},81318:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Z:()=>__WEBPACK_DEFAULT_EXPORT__});var _System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(95082),_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(88478),core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(92222),core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_2__),core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(69826),core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_3__),core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(41539),core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_4__),core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(82526),core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_5__),core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(41817),core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_6__),core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(21249),core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__.n(core_js_modules_es_array_map_js__WEBPACK_IMPORTED_MODULE_7__),core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(57327),core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_8__),core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(5212),core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__.n(core_js_modules_es_array_some_js__WEBPACK_IMPORTED_MODULE_9__),core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_10__=__webpack_require__(2707),core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_10___default=__webpack_require__.n(core_js_modules_es_array_sort_js__WEBPACK_IMPORTED_MODULE_10__),core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_11__=__webpack_require__(47042),core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_11___default=__webpack_require__.n(core_js_modules_es_array_slice_js__WEBPACK_IMPORTED_MODULE_11__),core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_12__=__webpack_require__(70189),core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_12___default=__webpack_require__.n(core_js_modules_es_set_js__WEBPACK_IMPORTED_MODULE_12__),core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_13__=__webpack_require__(78783),core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_13___default=__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_13__),core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_14__=__webpack_require__(33948),core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_14___default=__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_14__),core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_15__=__webpack_require__(86535),core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_15___default=__webpack_require__.n(core_js_modules_es_array_flat_map_js__WEBPACK_IMPORTED_MODULE_15__),core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_16__=__webpack_require__(99244),core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_16___default=__webpack_require__.n(core_js_modules_es_array_unscopables_flat_map_js__WEBPACK_IMPORTED_MODULE_16__),core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_17__=__webpack_require__(85827),core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_17___default=__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_17__),core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18__=__webpack_require__(68309),core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18___default=__webpack_require__.n(core_js_modules_es_function_name_js__WEBPACK_IMPORTED_MODULE_18__),core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_19__=__webpack_require__(26699),core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_19___default=__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_19__),core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_20__=__webpack_require__(32023),core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_20___default=__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_20__),core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_21__=__webpack_require__(41637),core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_21___default=__webpack_require__.n(core_js_modules_web_url_search_params_js__WEBPACK_IMPORTED_MODULE_21__),core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_22__=__webpack_require__(74916),core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_22___default=__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_22__),core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_23__=__webpack_require__(64765),core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_23___default=__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_23__),_icons_ChevronIcon_vue__WEBPACK_IMPORTED_MODULE_24__=__webpack_require__(36741);const __WEBPACK_DEFAULT_EXPORT__={name:"ResourceBox",components:{ChevronIcon:_icons_ChevronIcon_vue__WEBPACK_IMPORTED_MODULE_24__.Z},data:function(){return{tabs:["libraries","builtin","tools"],activeTab:"libraries",sortBy:"Stars",direction:"descending",tagsDropdownShown:!1,filterInput:"",showAll:!1,eventSent:!1}},computed:{tableHeaders:function(){return["Name","Description"].concat((0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1__.Z)("builtin"!==this.activeTab?["Stars"]:[]),["Tags"])},selectedDescription:function(){var e=this,t=this.$tm("resources.tabs").find((function(t){var o=t.key;return o===e.activeTab}));return t?t.description:""},selectedList:function(){var e=this;return this.$tm("resourcesList.".concat(this.activeTab)).map((function(t){return(0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__.Z)((0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_objectSpread2_js__WEBPACK_IMPORTED_MODULE_0__.Z)({},t),{},{stars:e.getStarCount(t.href)})}))},itemsFilteredByTag:function(){var e=this;return this.selectedList.filter((function(t){return!e.tagFilterExactMatch||t.tags&&t.tags.some((function(t){return t.toLowerCase()===e.filterInput.toLowerCase()}))}))},visibleItems:function(){return this.showAll?this.itemsFilteredByTag.concat().sort(this.listSortFn):this.itemsFilteredByTag.concat().sort(this.listSortFn).slice(0,7)},tagFilterExactMatch:function(){var e=this;return""!==this.filterInput&&this.tabTags.some((function(t){return t.toLowerCase()===e.filterInput.toLowerCase()}))},tabTags:function(){return(0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1__.Z)(new Set(this.selectedList.flatMap((function(e){return e.tags})).filter((function(e){return e})).sort((function(e,t){return e>t?1:-1}))))},showFiltering:function(){return"builtin"!==this.activeTab}},watch:{activeTab:function(){this.filterInput="","builtin"!==this.activeTab?this.sortBy="Stars":this.sortBy="Name",this.eventSent||(window.plausible("Interact",{props:{element:"Resources"}}),this.eventSent=!0);var e="".concat(window.location.href.split("?")[0].split("#")[0],"?tab=").concat(this.activeTab,"#resources");history.replaceState(null,null,e)},showAll:function(){this.eventSent||(window.plausible("Interact",{props:{element:"Resources"}}),this.eventSent=!0)}},methods:{getTagColor:function(e){if("built-in"===e)return"#00c0b5";var t=(0,_System_Volumes_Data_Source_robotframework_robotframework_github_com_node_modules_babel_runtime_helpers_esm_toConsumableArray_js__WEBPACK_IMPORTED_MODULE_1__.Z)(e.toLowerCase()).flatMap((function(e){return 100*e.charCodeAt(0)})).reduce((function(e,t){return t+e}),0),o=t%360,r=t%49+51;return"hsl(".concat(o,", ").concat(r,"%, 70%)")},listSortFn:function(e,t){var o=e[this.sortBy.toLowerCase()],r=t[this.sortBy.toLowerCase()],a="number"===typeof o||"number"===typeof r;return a?o>r?"descending"===this.direction?-1:1:"descending"===this.direction?1:-1:o>r?"descending"===this.direction?1:-1:"descending"===this.direction?-1:1},switchSortDirection:function(){"descending"===this.direction?this.direction="ascending":this.direction="descending"},getStarCount:function(e){var t=this.$store.state.stars.find((function(t){var o=t.name;return e.toLowerCase().includes(o.toLowerCase())}));return t&&t.stars||null},onClick:function(e){var t=e.target;this.$refs.tagInput&&!this.$refs.tagInput.contains(t)&&(this.tagsDropdownShown=!1)}},created:function created(){var _this5=this;if(this.$store.state.stars.length||fetch("./livedata/stars.js").then((function(e){return e.text()})).then((function(str){return _this5.$store.commit("SET_VALUE",{key:"stars",value:eval(str)})})),"#resources"===window.location.hash){var param=new URLSearchParams(window.location.search),tab=param.get("tab");tab&&(this.activeTab=tab)}},mounted:function(){document.addEventListener("click",this.onClick)},beforeUnmount:function(){document.removeEventListener("click",this.onClick)}}},71386:(e,t,o)=>{var r=o(95082),a=(o(66992),o(88674),o(19601),o(17727),o(49963)),i=o(66252);function n(e,t,o,r,a,n){var s=(0,i.up)("router-view");return(0,i.wg)(),(0,i.j4)(s)}const s={methods:{setDeviceSize:function(e){var t=this;this.$nextTick((function(){t.$store.commit("SET_IS_MOBILE",e<700),t.$store.commit("SET_IS_TABLET",e>699&&e<1024),t.$store.commit("SET_IS_DESKTOP",e>1023)}))}},created:function(){var e=this;document.documentElement.lang=this.$i18n.locale,this.setDeviceSize(window.innerWidth),window.addEventListener("resize",(function(){e.setDeviceSize(window.innerWidth)})),window.addEventListener("click",(function(){return document.body.classList.remove("accessible")})),window.addEventListener("keydown",(function(e){var t=e.key;"Tab"===t&&document.body.classList.add("accessible")}))},watch:{"$i18n.locale":function(){document.documentElement.lang=this.$i18n.locale}}};var l=o(83744);const c=(0,l.Z)(s,[["render",n]]),d=c;var m=o(22201),u=(o(68309),o(82526),o(41817),o(3577)),p={class:"container mb-xlarge"},h={class:"col-sm-12 col-lg-9 row"},b={class:"col-sm-12 col-lg-8 pr-small"},g=["innerHTML"],_={class:"col-lg-4 pt-2xsmall"},f=["href"],w=["innerHTML"],y={class:"col-sm-12 col-lg-9 col-lg-offset-3 row"};function k(e,t,o,r,a,n){var s=(0,i.up)("nav-mobile"),l=(0,i.up)("robocon-banner"),c=(0,i.up)("banner"),d=(0,i.up)("navbar"),m=(0,i.up)("news"),k=(0,i.up)("page-section"),v=(0,i.up)("monaco-editor"),R=(0,i.up)("tab-box"),D=(0,i.up)("resource-box"),E=(0,i.up)("community-items"),T=(0,i.up)("router-link"),C=(0,i.up)("video-component"),P=(0,i.up)("sponsors"),A=(0,i.up)("milestones"),F=(0,i.up)("page-footer");return(0,i.wg)(),(0,i.iD)(i.HY,null,[(0,i.Wm)(s),(0,i.Wm)(l),(0,i.Wm)(c),(0,i.Wm)(d,{class:"nav-desktop"}),(0,i._)("div",p,[(0,i.Wm)(k,{"title-id":"introduction",title:e.$t("introduction.title")},{default:(0,i.w5)((function(){return[(0,i._)("div",h,[(0,i._)("div",b,[(0,i._)("div",{innerHTML:e.$t("introduction.body"),id:"intro-text",class:"mb-small"},null,8,g)]),(0,i._)("div",_,[(0,i.Wm)(m)])])]})),_:1},8,["title"]),(0,i.Wm)(k,{"title-id":"getting-started",title:e.$t("gettingStarted.title"),body:e.$t("gettingStarted.body")},{default:(0,i.w5)((function(){return[(0,i.Wm)(R,{class:"col-sm-12 col-lg-9 col-lg-offset-3",tabs:e.$tm("gettingStarted.tabs")},{"tab-1":(0,i.w5)((function(){return[(0,i.Wm)(v)]})),"tab-3":(0,i.w5)((function(){return[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.$tm("resourcesList.learning"),(function(e){return(0,i.wg)(),(0,i.iD)("div",{key:e.name,class:"mt-small mb-small"},[(0,i._)("a",{href:e.href},(0,u.zw)(e.name),9,f),(0,i._)("div",{class:"type-small",innerHTML:e.description},null,8,w)])})),128))]})),_:1},8,["tabs"])]})),_:1},8,["title","body"]),(0,i.Wm)(k,{"title-id":"resources",title:e.$t("resources.title"),body:e.$t("resources.body")},{default:(0,i.w5)((function(){return[(0,i.Wm)(D,{class:"col-sm-12 col-lg-9 col-lg-offset-3"})]})),_:1},8,["title","body"]),(0,i.Wm)(k,{"title-id":"community",title:e.$t("community.title"),body:e.$t("community.body")},{default:(0,i.w5)((function(){return[(0,i._)("div",y,[(0,i.Wm)(E),(0,i._)("button",{class:(0,u.C_)(["theme mt-medium",e.$store.state.isMobile?"ml-xsmall":""])},[(0,i.Wm)(T,{to:{name:"CoC"},class:"type-no-underline"},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Code of Ethics ")]})),_:1})],2),(0,i.Wm)(C,{videoId:"2GDrtvz_1Ds",class:"col-sm-12 mt-small"})])]})),_:1},8,["title","body"]),(0,i.Wm)(k,{"title-id":"development",title:e.$t("development.title"),body:e.$t("development.body")},{default:(0,i.w5)((function(){return[(0,i.Wm)(P,{class:"col-sm-12 col-lg-9 col-lg-offset-3"}),(0,i.Wm)(A,{class:"col-sm-12 col-lg-9 col-lg-offset-3 mt-medium"})]})),_:1},8,["title","body"])]),(0,i.Wm)(F)],64)}o(41539),o(78783),o(33948),o(29254),o(92222);var v=function(e){return(0,i.dD)("data-v-121f48b8"),e=e(),(0,i.Cn)(),e},R=v((function(){return(0,i._)("h2",{style:{"letter-spacing":"0.125rem",position:"sticky",top:"0"},class:"type-center type-large mb-none color-black bg-theme"}," NEWS ",-1)})),D={class:"bg-grey-dark pt-small"},E={key:0},T=["href"],C={class:"mb-none line-height-1 font-body"},P={key:1,class:"mb-none line-height-1 font-body"},A={class:"type-small"},F=["src"],S=["innerHTML"];function x(e,t,o,r,n,s){return(0,i.wg)(),(0,i.j4)(a.uT,{appear:"",name:"opacity"},{default:(0,i.w5)((function(){return[e.height?((0,i.wg)(),(0,i.iD)("div",{key:0,class:"news-container card",style:(0,u.j5)({height:"".concat(e.height,"px")})},[R,(0,i._)("div",D,[0===e.news.length?((0,i.wg)(),(0,i.iD)("div",E," loading... ")):((0,i.wg)(!0),(0,i.iD)(i.HY,{key:1},(0,i.Ko)(e.news,(function(t){return(0,i.wg)(),(0,i.iD)("article",{key:t.id,class:"pb-small px-small"},[t.link?((0,i.wg)(),(0,i.iD)("a",{key:0,href:t.link,target:"blank",class:"mb-none line-height-1"},[(0,i._)("h3",C,(0,u.zw)(t.title),1)],8,T)):((0,i.wg)(),(0,i.iD)("h3",P,(0,u.zw)(t.title),1)),(0,i._)("div",A,(0,u.zw)(t.date),1),t.image?((0,i.wg)(),(0,i.iD)("img",{key:2,src:"".concat(t.image.file.url).concat(e.imgUrlParams),class:"main"},null,8,F)):(0,i.kq)("",!0),t.body?((0,i.wg)(),(0,i.iD)("div",{key:3,class:"mb-none",style:{"line-height":"1.25"},innerHTML:s.parseBody(t.body)},null,8,S)):(0,i.kq)("",!0)])})),128))])],4)):(0,i.kq)("",!0)]})),_:1})}var I=o(50124),M=o(48534),O=(o(32564),o(2707),o(83710),o(21249),o(95229)),L=O.createClient({space:"bpm5i5mj2o02",accessToken:"kDjw4Ergl45z3NFMv6Bhd5Z5w_HTIdcioiY4Hq9mC0I"}),W=function(){var e=(0,M.Z)((0,I.Z)().mark((function e(){var t;return(0,I.Z)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,L.getEntries({content_type:"latestNews"}).then((function(e){var t=e.items;return t.map((function(e){var t,o=e.fields;return(0,r.Z)((0,r.Z)({},o),{},{image:null===(t=o.image)||void 0===t?void 0:t.fields})}))}));case 2:return t=e.sent,e.abrupt("return",t);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),j=o(22135);const B={data:function(){return{news:[],imgUrlParams:"?w=500&h=500",height:0}},mounted:function(){var e=this;return(0,M.Z)((0,I.Z)().mark((function t(){var o;return(0,I.Z)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return o=document.getElementById("intro-text"),setTimeout((function(){e.height=o.offsetHeight-16}),500),t.next=4,W();case 4:e.news=t.sent.sort((function(e,t){return new Date(e.date)>new Date(t.date)?-1:1}));case 5:case"end":return t.stop()}}),t)})))()},methods:{parseBody:function(e){return(0,j.S)(e,{renderNode:{paragraph:function(e,t){return'

'.concat(t(e.content),"

")},blockquote:function(e,t){return'
'.concat(t(e.content),"
")}}})}}},N=(0,l.Z)(B,[["render",x],["__scopeId","data-v-121f48b8"]]),q=N;var U=function(e){return(0,i.dD)("data-v-2b387997"),e=e(),(0,i.Cn)(),e},K={class:"row bg-theme center p-medium"},z=U((function(){return(0,i._)("div",null,[(0,i._)("h1",{class:"title"},[(0,i.Uk)(" ROBOT"),(0,i._)("br"),(0,i.Uk)(" FRAME"),(0,i._)("br"),(0,i.Uk)(" WORK"),(0,i._)("div",{style:{"font-size":"2.5rem",transform:"translateY(-.5rem)",display:"inline-block"}},"🇺🇦")])],-1)})),H=[z];function $(e,t,o,r,a,n){return(0,i.wg)(),(0,i.iD)("div",K,H)}const G={name:"Banner"},Z=(0,l.Z)(G,[["render",$],["__scopeId","data-v-2b387997"]]),V=Z;var J=function(e){return(0,i.dD)("data-v-05afb24c"),e=e(),(0,i.Cn)(),e},Y={class:"font-title bg-black color-white type-left type-slimbanner between flex type-large"},X=J((function(){return(0,i._)("div",{class:"m-small"},[(0,i.Uk)(" Tickets for "),(0,i._)("span",{class:"type-uppercase color-robocon"},"Robocon 2024"),(0,i.Uk)(" are on sale now! ")],-1)})),Q=J((function(){return(0,i._)("div",{class:"m-small"},[(0,i.Uk)(" More info at "),(0,i._)("a",{class:"color-robocon",href:"https://robocon.io/"},"robocon.io"),(0,i.Uk)(". ")],-1)})),ee=[X,Q];function te(e,t){return(0,i.wg)(),(0,i.iD)("div",Y,ee)}const oe={},re=(0,l.Z)(oe,[["render",te],["__scopeId","data-v-05afb24c"]]),ae=re;var ie=function(e){return(0,i.dD)("data-v-49880187"),e=e(),(0,i.Cn)(),e},ne={class:"row bg-black color-white p-small pt-large pb-large"},se={class:"container",style:{"line-height":"2"}},le={class:"row"},ce={class:"col-sm-6 col-md-3"},de={class:"mb-small"},me=ie((function(){return(0,i._)("div",null," Robot Framework ry ",-1)})),ue=ie((function(){return(0,i._)("div",null," Kampinkuja 2 ",-1)})),pe=ie((function(){return(0,i._)("div",null," 00100 Helsinki ",-1)})),he=ie((function(){return(0,i._)("div",null," Finland ",-1)})),be=ie((function(){return(0,i._)("a",{href:"mailto:board@robotframework.org"}," Contact ",-1)})),ge=(0,i.uE)('

Community

GitHub
Forum
Facebook
Twitter
LinkedIn
',6),_e=[ge],fe={key:0,class:"col-sm-12 mb-large"},we=(0,i.uE)('',1),ye={class:"col-sm-6 col-md-3 flex flex-col between"},ke=ie((function(){return(0,i._)("div",null,null,-1)}));function ve(e,t,o,r,a,n){var s=(0,i.up)("router-link");return(0,i.wg)(),(0,i.iD)("div",ne,[(0,i._)("div",se,[(0,i._)("div",le,[(0,i._)("div",ce,[(0,i._)("h3",de,[(0,i.Wm)(s,{to:{name:"Foundation"}},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Foundation ")]})),_:1})]),me,ue,pe,he,be]),(0,i._)("div",{class:(0,u.C_)(["col-sm-6 col-md-3",e.$store.state.isMobile?"type-right":""])},_e,2),e.$store.state.isMobile?((0,i.wg)(),(0,i.iD)("div",fe)):(0,i.kq)("",!0),we,(0,i._)("div",ye,[ke,(0,i._)("div",{class:(0,u.C_)(e.$store.state.isMobile?"type-right":"")},[(0,i._)("div",null,[(0,i.Wm)(s,{to:{name:"PrivacyPolicy"}},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Privacy Policy ")]})),_:1})]),(0,i._)("div",null,[(0,i.Wm)(s,{to:{name:"CoC"}},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Code of Ethics ")]})),_:1})])],2)])])])])}o(57327),o(47941);const Re={name:"PageFooter",components:{},data:function(){return{langDropdownOpen:!1}},computed:{langNames:function(){var e=this;return Object.keys(this.$i18n.messages).map((function(t){return{lang:t,name:e.$i18n.messages[t].langName}})).filter((function(e){var t=e.name;return"translation"!==t}))}},methods:{setLang:function(e){this.$i18n.locale=e,window.localStorage.setItem("lang",e)}}},De=(0,l.Z)(Re,[["render",ve],["__scopeId","data-v-49880187"]]),Ee=De;var Te={ref:"nav",class:"flex navbar bg-black color-white p-xsmall"},Ce={key:0},Pe={class:"container row middle pr-small"},Ae={class:"col-sm-3 flex"},Fe={class:"flex"},Se=["name","onClick"],xe={class:"relative",ref:"dropdownDocs"},Ie={key:0,class:"dropdown-container bg-black color-white p-small card",style:{left:"0.25rem"}},Me=["href","onClick"];function Oe(e,t,o,r,n,s){var l=(0,i.up)("robot-icon"),c=(0,i.up)("chevron-icon");return(0,i.wg)(),(0,i.iD)("div",Te,[(0,i.Wm)(a.uT,{name:"opacity"},{default:(0,i.w5)((function(){return[e.navSticky&&!e.iconInContainer?((0,i.wg)(),(0,i.iD)("div",Ce,[(0,i.Wm)(l,{size:"1.75rem",class:"absolute rf-icon-rotation cursor-pointer",onClick:s.logoClick},null,8,["onClick"])])):(0,i.kq)("",!0)]})),_:1}),(0,i._)("div",Pe,[(0,i._)("div",Ae,[(0,i.Wm)(a.uT,{name:"opacity"},{default:(0,i.w5)((function(){return[e.navSticky&&e.iconInContainer?((0,i.wg)(),(0,i.j4)(l,{key:0,size:"1.75rem",class:"rf-icon-rotation cursor-pointer",onClick:s.logoClick},null,8,["onClick"])):(0,i.kq)("",!0)]})),_:1})]),(0,i._)("div",Fe,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.$tm("navbar.items"),(function(e,t){return(0,i.wg)(),(0,i.iD)("button",{key:e.name,name:"go-to-".concat(e.name),class:(0,u.C_)(["color-white font-title type-no-underline type-uppercase line-height-body border-right-white border-light",0===t?"pl-xsmall pr-small":"px-small"]),onClick:function(t){return s.itemClick(e.id)}},(0,u.zw)(e.name),11,Se)})),128)),(0,i._)("div",xe,[(0,i._)("button",{class:(0,u.C_)(["flex middle px-small font-title type-uppercase line-height-body dropdown-button",e.docsDropdownOpen?"color-theme":"color-white"]),onClick:t[0]||(t[0]=function(t){return e.docsDropdownOpen=!e.docsDropdownOpen})},[(0,i._)("div",null,(0,u.zw)(e.$t("navbar.dropdownDocs.name")),1),(0,i.Wm)(c,{color:e.docsDropdownOpen?"theme":"white",direction:e.docsDropdownOpen?"up":"down",size:"1.5rem"},null,8,["color","direction"])],2),(0,i.Wm)(a.uT,{name:"fade"},{default:(0,i.w5)((function(){return[e.docsDropdownOpen?((0,i.wg)(),(0,i.iD)("div",Ie,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.$tm("navbar.dropdownDocs.items"),(function(t,o){var r=t.name,a=t.url,n=t.description;return(0,i.wg)(),(0,i.iD)("div",{key:r},[(0,i._)("a",{href:a,onClick:function(e){return s.linkClick(r)}},(0,u.zw)(r),9,Me),(0,i._)("p",{class:(0,u.C_)(["type-small mt-none",o===e.$tm("navbar.dropdownDocs.items").length-1?"mb-none":""])},(0,u.zw)(n),3)])})),128))])):(0,i.kq)("",!0)]})),_:1})],512)])])],512)}var Le=o(82482),We=function(e){return(0,i.dD)("data-v-266d6681"),e=e(),(0,i.Cn)(),e},je=["width","height"],Be=We((function(){return(0,i._)("path",{id:"path",d:"M5,10.2c0-1.9,1.5-3.4,3.4-3.4c1.9,0,3.4,1.5,3.4,3.4c0,0.7-0.6,1.2-1.2,1.2c-0.7,0-1.2-0.6-1.2-1.2\n c0-0.5-0.4-0.9-0.9-0.9c-0.5,0-0.9,0.4-0.9,0.9c0,0.7-0.6,1.2-1.2,1.2S5,10.9,5,10.2 M19,15.9c0,0.7-0.6,1.2-1.2,1.2H6.4\n c-0.7,0-1.2-0.6-1.2-1.2c0-0.7,0.6-1.2,1.2-1.2h11.5C18.5,14.7,19,15.3,19,15.9 M13.7,10.9c-0.4-0.6-0.2-1.3,0.3-1.7l2.9-1.9\n c0.6-0.4,1.3-0.2,1.7,0.3c0.4,0.6,0.2,1.3-0.3,1.7l-2.9,1.9c-0.2,0.1-0.5,0.2-0.7,0.2C14.3,11.5,13.9,11.3,13.7,10.9 M21.5,18.5\n c0,0.2-0.1,0.5-0.3,0.6l-2.1,2.1c-0.2,0.2-0.4,0.3-0.6,0.3h-13c-0.2,0-0.5-0.1-0.6-0.3l-2.1-2.1c-0.2-0.2-0.3-0.4-0.3-0.6v-13\n c0-0.2,0.1-0.5,0.3-0.6l2.1-2.1C5,2.6,5.2,2.5,5.5,2.5h13c0.2,0,0.5,0.1,0.6,0.3l2.1,2.1c0.2,0.2,0.3,0.4,0.3,0.6V18.5z M23.3,3.4\n l-2.8-2.8C20.1,0.2,19.6,0,19,0H5C4.4,0,3.9,0.2,3.4,0.7L0.7,3.4C0.2,3.9,0,4.4,0,5v14c0,0.6,0.2,1.2,0.7,1.6l2.8,2.8\n C3.9,23.8,4.4,24,5,24h14c0.6,0,1.2-0.2,1.6-0.7l2.8-2.8c0.4-0.4,0.7-1,0.7-1.6V5C24,4.4,23.8,3.9,23.3,3.4"},null,-1)})),Ne=[Be];function qe(e,t,o,r,a,n){var s;return(0,i.wg)(),(0,i.iD)("svg",{version:"1.1",id:"face",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o.size,height:o.size,class:(0,u.C_)((s={},(0,Le.Z)(s,"fill-white","white"===o.color),(0,Le.Z)(s,"fill-theme","theme"===o.color),s))},Ne,10,je)}const Ue={name:"RobotIcon",props:{color:{type:String,default:"white"},size:{type:String,default:"1rem"}}},Ke=(0,l.Z)(Ue,[["render",qe],["__scopeId","data-v-266d6681"]]),ze=Ke;var He=o(36741);const $e={name:"Navbar",components:{RobotIcon:ze,ChevronIcon:He.Z},data:function(){return{navSticky:!1,linksDropdownOpen:!1,docsDropdownOpen:!1,langDropdownOpen:!1,iconInContainer:!1}},computed:{langNames:function(){var e=this;return Object.keys(this.$i18n.messages).map((function(t){return{lang:t,name:e.$i18n.messages[t].langName}}))}},methods:{itemClick:function(e){var t=document.getElementById(e);t&&(history.replaceState(null,null,"".concat(location.href.split("?")[0].split("#")[0],"#").concat(e)),window.scrollTo({top:t.offsetTop,behavior:"smooth"}),window.plausible("Nav click",{props:{section:e}}))},linkClick:function(e){window.plausible("Nav click",{props:{section:e}})},setLang:function(e){this.$i18n.locale=e,window.localStorage.setItem("lang",e)},onClick:function(e){this.$refs.dropdownDocs&&!this.$refs.dropdownDocs.contains(e.target)&&(this.docsDropdownOpen=!1)},onResize:function(){this.iconInContainer=window.innerWidth<1500},logoClick:function(){window.scrollTo({top:0,behavior:"smooth"})}},mounted:function(){var e=this,t=new IntersectionObserver((function(t){e.navSticky=!t[0].isIntersecting}),{threshold:1});t.observe(this.$refs.nav),document.addEventListener("click",this.onClick),window.addEventListener("resize",this.onResize),this.onResize()},beforeUnmount:function(){document.removeEventListener("click",this.onClick),window.removeEventListener("resize",this.onResize)},watch:{linksDropdownOpen:function(){this.linksDropdownOpen&&(this.langDropdownOpen=!1)},langDropdownOpen:function(){this.langDropdownOpen&&(this.linksDropdownOpen=!1)}}},Ge=(0,l.Z)($e,[["render",Oe],["__scopeId","data-v-56858196"]]),Ze=Ge;var Ve={class:"bar flex middle p-xsmall"},Je={class:"container row"},Ye={class:"font-title color-white type-uppercase line-height-body"};function Xe(e,t,o,r,a,n){var s=(0,i.up)("robot-icon"),l=(0,i.up)("router-link");return(0,i.wg)(),(0,i.iD)("div",Ve,[(0,i.Wm)(l,{to:{name:"Home"},class:"flex mr-xsmall"},{default:(0,i.w5)((function(){return[(0,i.Wm)(s,{size:"1.75rem",class:"rf-icon-rotation cursor-pointer"})]})),_:1}),(0,i._)("div",Je,[(0,i.Wm)(l,{to:{name:"Home"},class:"color-theme font-title"},{default:(0,i.w5)((function(){return[(0,i.Uk)(" RBTFRMWRK ")]})),_:1}),(0,i._)("div",Ye," /"+(0,u.zw)(o.title),1)])])}const Qe={name:"NavbarSubPage",props:{title:{type:String,required:!0}},components:{RobotIcon:ze}},et=(0,l.Z)(Qe,[["render",Xe],["__scopeId","data-v-06e6a84e"]]),tt=et;var ot=function(e){return(0,i.dD)("data-v-46404a29"),e=e(),(0,i.Cn)(),e},rt={key:0,class:"menu bg-black pt-xlarge pb-large pr-small",style:{"padding-left":"3.75rem"}},at={key:"1",class:"mt-small"},it=["name","onClick"],nt={key:"3",class:"mt-medium"},st={class:"flex middle"},lt=["href"],ct={class:"flex middle"},dt=ot((function(){return(0,i._)("div",{class:"font-title ml-xsmall"}," ROBOT FRAMEWORK ",-1)})),mt=ot((function(){return(0,i._)("span",null,null,-1)})),ut=ot((function(){return(0,i._)("span",null,null,-1)})),pt=ot((function(){return(0,i._)("span",null,null,-1)})),ht=ot((function(){return(0,i._)("span",null,null,-1)})),bt=[mt,ut,pt,ht];function gt(e,t,o,r,n,s){var l=(0,i.up)("chevron-icon"),c=(0,i.up)("robot-icon");return(0,i.wg)(),(0,i.iD)(i.HY,null,[(0,i.Wm)(a.uT,{name:"fade"},{default:(0,i.w5)((function(){return[e.isOpen?((0,i.wg)(),(0,i.iD)("div",rt,[(0,i.Wm)(a.uT,{name:e.docsOpen?"fade-left":"fade-right",mode:"out-in"},{default:(0,i.w5)((function(){return[e.docsOpen?((0,i.wg)(),(0,i.iD)("div",nt,[(0,i._)("button",{class:"type-uppercase font-title flex middle mb-medium",style:{"margin-left":"-0.5rem"},onClick:t[1]||(t[1]=function(t){return e.docsOpen=!1})},[(0,i.Wm)(l,{direction:"left",color:"white",size:"2rem"}),(0,i.Uk)(" "+(0,u.zw)(e.$t("navbar.dropdownDocs.name")),1)]),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.$tm("navbar.dropdownDocs.items"),(function(t,o){var r=t.name,a=t.url,n=t.description;return(0,i.wg)(),(0,i.iD)("div",{key:r},[(0,i._)("div",st,[(0,i._)("a",{href:a,class:"line-height-1"},(0,u.zw)(r),9,lt)]),(0,i._)("p",{class:(0,u.C_)(["type-small color-white mt-none",o===e.$tm("navbar.dropdownDocs.items").length-1?"mb-none":"mb-small"])},(0,u.zw)(n),3)])})),128))])):((0,i.wg)(),(0,i.iD)("div",at,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.$tm("navbar.items"),(function(t){return(0,i.wg)(),(0,i.iD)("div",{key:t.name},[(0,i._)("button",{name:"go-to-".concat(t.name),class:"mb-small mt-xsmall color-white font-title type-uppercase",onClick:function(o){s.scrollTo(t.id,400),e.isOpen=!1}},(0,u.zw)(t.name),9,it)])})),128)),(0,i._)("div",null,[(0,i._)("button",{class:"flex middle mt-medium color-white font-title type-uppercase",style:{"margin-left":"-0.5rem"},onClick:t[0]||(t[0]=function(t){return e.docsOpen=!0})},[(0,i.Wm)(l,{direction:"right",color:"white",size:"2rem"}),(0,i._)("div",null,(0,u.zw)(e.$t("navbar.dropdownDocs.name")),1)])])]))]})),_:1},8,["name"])])):(0,i.kq)("",!0)]})),_:1}),(0,i._)("div",{class:(0,u.C_)(["navbar row between bg-black color-white",e.isOpen?"open":""])},[(0,i._)("div",ct,[(0,i.Wm)(c,{size:"2rem",class:"ml-small",onClick:t[2]||(t[2]=function(e){return s.scrollTo(null,400)})}),dt]),(0,i._)("button",{class:(0,u.C_)(["hamburger",e.isOpen?"open":""]),onClick:t[3]||(t[3]=function(t){e.isOpen=!e.isOpen,e.docsOpen=!1})},bt,2)],2),(0,i.Wm)(a.uT,{name:"opacity"},{default:(0,i.w5)((function(){return[e.isOpen?((0,i.wg)(),(0,i.iD)("div",{key:0,class:"menu-background",onClick:t[4]||(t[4]=function(t){e.isOpen=!1,e.docsOpen=!1})})):(0,i.kq)("",!0)]})),_:1})],64)}o(91058);const _t={name:"NavMobile",components:{ChevronIcon:He.Z,RobotIcon:ze},data:function(){return{isOpen:!1,docsOpen:!1}},methods:{scrollTo:function(e,t){var o=function(e,t,o,r){var a=e/(r/2);return a<1?o/2*a*a+t:(a-=1,-o/2*(a*(a-2)-1)+t)},r=e?document.getElementById(e).offsetTop-80:0,a=document.scrollingElement||document.documentElement,i=a.scrollTop,n=r-i,s=+new Date,l=function e(){var l=+new Date,c=l-s;a.scrollTop=parseInt(o(c,i,n,t),10),c7?((0,i.wg)(),(0,i.iD)("button",{key:0,class:"stroke type-uppercase mt-small type-small mb-xsmall",onClick:t[3]||(t[3]=function(t){return e.showAll=!0})}," Show more ")):(0,i.kq)("",!0)],2)]))]})),_:1})],2)])}var bo=o(81318);const go=(0,l.Z)(bo.Z,[["render",ho],["__scopeId","data-v-16a2d6f8"]]),_o=go;o(74916),o(15306);var fo={class:"row"},wo=["onClick"],yo={key:0,class:"row mt-small color-white"},ko=["innerHTML"],vo={key:1},Ro=["innerHTML"],Do={key:2,class:"w-100"};function Eo(e,t,o,r,n,s){var l=(0,i.up)("robot-code");return(0,i.wg)(),(0,i.iD)("div",{class:(0,u.C_)(["bg-grey-dark card",e.$store.state.isMobile?"p-small pt-medium sharp":"p-large"])},[(0,i._)("div",fo,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(o.tabs,(function(t,o){return(0,i.wg)(),(0,i.iD)("button",{key:t.name,class:(0,u.C_)(["type-uppercase theme type-small mb-xsmall",[e.activeTabIndex===o?"active":"",2===o?"mr-none":"mr-small"]]),onClick:function(t){return e.activeTabIndex=o}},(0,u.zw)(t.name),11,wo)})),128))]),s.activeTab?((0,i.wg)(),(0,i.iD)("div",yo,[(0,i.Wm)(a.uT,{name:"opacity",mode:"out-in"},{default:(0,i.w5)((function(){return[s.includesRobotCode||e.$slots["tab-".concat(e.activeTabIndex+1)]?s.includesRobotCode?((0,i.wg)(),(0,i.iD)("div",vo,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(s.splitDescription,(function(e){return(0,i.wg)(),(0,i.iD)(i.HY,{key:e},[""===e.slice(0,7)?((0,i.wg)(),(0,i.j4)(l,{key:0,code:e.replace("","").replace("","")},null,8,["code"])):((0,i.wg)(),(0,i.iD)("div",{key:1,innerHTML:e},null,8,Ro))],64)})),128))])):((0,i.wg)(),(0,i.iD)("div",Do,[(0,i.WI)(e.$slots,"tab-".concat(e.activeTabIndex+1))])):((0,i.wg)(),(0,i.iD)("div",{key:s.activeTab.name,class:"w-100",innerHTML:s.activeTab.description},null,8,ko))]})),_:3})])):(0,i.kq)("",!0)],2)}o(9653),o(91038),o(41637),o(64765);function To(e,t,o,r,a,n){var s=(0,i.up)("highlightjs");return(0,i.wg)(),(0,i.iD)("div",null,[(0,i.Wm)(s,{class:"highlight-container",language:"robot",code:o.code},null,8,["code"])])}const Co={name:"RobotCode",props:{code:{type:String,default:""}}},Po=(0,l.Z)(Co,[["render",To]]),Ao=Po,Fo={name:"TabBox",components:{RobotCode:Ao},props:{tabs:{type:Array,required:!0},defaultTab:{type:Number,required:!1}},data:function(){return{activeTabIndex:0,eventSent:!1}},computed:{activeTab:function(){return this.tabs[this.activeTabIndex]},includesRobotCode:function(){return this.activeTab.description&&this.activeTab.description.includes("")},splitDescription:function(){if(!this.includesRobotCode)return null;var e=document.createElement("template");return e.innerHTML=this.activeTab.description,Array.from(e.content.children).map((function(e){return e.outerHTML}))}},created:function(){if(this.defaultTab&&(this.activeTabIndex=this.defaultTab),"#getting-started"===window.location.hash){var e=new URLSearchParams(window.location.search),t=e.get("tab");t&&(this.activeTabIndex=Number(t))}},watch:{activeTab:function(){if(this.eventSent||(window.plausible("Interact",{props:{element:"Learning"}}),this.eventSent=!0),!this.defaultTab){var e="".concat(window.location.href.split("?")[0].split("#")[0],"?tab=").concat(this.activeTabIndex,"#getting-started");history.replaceState(null,null,e)}}}},So=(0,l.Z)(Fo,[["render",Eo]]),xo=So;var Io={class:"row bg-grey-dark-darkmode pt-medium pb-medium p-small"},Mo={class:"col-sm-12 mb-xsmall type-center color-theme"},Oo=["href"],Lo={class:"cursor-pointer bg-white card"},Wo=["innerHTML"];function jo(e,t,o,r,a,n){return(0,i.wg)(),(0,i.iD)("div",Io,[(0,i._)("div",Mo,[(0,i._)("h3",null,(0,u.zw)(e.$t("development.sponsorBoxTitle")),1)]),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.$tm("resourcesList.sponsors"),(function(t){return(0,i.wg)(),(0,i.iD)("a",{key:t.name,href:t.href,target:"_blank",class:"sponsor"},[(0,i._)("div",Lo,[(0,i._)("div",{class:"img-container mb-small",style:(0,u.j5)("background-image: url(".concat(e.publicPath,"img/sponsors/").concat(t.img,")"))},null,4)])],8,Oo)})),128)),(0,i._)("div",{class:"col-sm-12 type-small type-right pr-small",innerHTML:e.$t("development.howToJoin")},null,8,Wo)])}const Bo={name:"Sponsors",data:function(){return{publicPath:"/"}}},No=(0,l.Z)(Bo,[["render",jo],["__scopeId","data-v-0fb3dc1b"]]),qo=No;var Uo={class:"row color-black color-white-darkmode type-small"},Ko={class:"bg-white bg-grey-dark-darkmode card p-medium"},zo={class:"bg-white-darkmode rounded"},Ho=["href"],$o=["innerHTML"];function Go(e,t,o,r,a,n){return(0,i.wg)(),(0,i.iD)("div",Uo,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(n.columns,(function(t,o){return(0,i.wg)(),(0,i.iD)("div",{key:o,class:(0,u.C_)(3===n.columns.length?"col-sm-4":"col-sm-12")},[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t,(function(t){return(0,i.wg)(),(0,i.iD)("div",{key:t.name,class:(0,u.C_)(["mb-small",[3===n.columns.length&&0===o?"pr-small":"",3===n.columns.length&&1===o?"pr-xsmall pl-xsmall":"",3===n.columns.length&&2===o?"pl-small":""]])},[(0,i._)("div",Ko,[(0,i._)("div",zo,[(0,i._)("a",{href:t.href},[(0,i._)("div",{class:"img-container mb-small",style:(0,u.j5)("background-image: url(".concat(e.publicPath,"img/sponsors/").concat(t.img,")"))},null,4)],8,Ho)]),(0,i._)("div",{innerHTML:t.description},null,8,$o)])],2)})),128))],2)})),128))])}const Zo={name:"SponsorsDetailed",data:function(){return{publicPath:"/",columnAmount:3}},computed:{columns:function(){return 3===this.columnAmount?[this.$tm("resourcesList.sponsors").filter((function(e,t){return t%3===0})),this.$tm("resourcesList.sponsors").filter((function(e,t){return t%3===1})),this.$tm("resourcesList.sponsors").filter((function(e,t){return t%3===2}))]:[this.$tm("resourcesList.sponsors")]}},created:function(){window.addEventListener("resize",this.calculateColumnAmount),this.calculateColumnAmount()},beforeUnmount:function(){window.removeEventListener("resize",this.calculateColumnAmount)},methods:{calculateColumnAmount:function(){window.innerWidth<450?this.columnAmount=1:this.columnAmount=3}}},Vo=(0,l.Z)(Zo,[["render",Go],["__scopeId","data-v-fb75dab4"]]),Jo=Vo;var Yo=(0,i._)("a",{href:"https://github.com/robotframework/robotframework/milestones",target:"_blank"},[(0,i._)("h3",{class:"type-center color-theme"}," Development milestones ")],-1),Xo={class:"col-sm-12 ml-2xsmall"},Qo={class:"card bg-white color-black p-small"},er={class:"row between middle"},tr=["href"],or={class:"type-large"},rr={class:"type-small"},ar={key:0,class:"type-small type-italic border-bottom-theme border-thin pb-small description-container"},ir=["id","innerHTML"],nr=["onClick"],sr={key:1,class:"type-small"},lr=(0,i._)("h4",{class:"mt-small"}," Issues ",-1),cr={class:"row"},dr={class:"col-sm-6 pr-3xsmall"},mr=["onClick"],ur={class:"col-sm-6 pl-3xsmall"},pr=["onClick"],hr=["innerHTML"],br=["href"],gr=["onClick"],_r=(0,i._)("div",{class:"type-right type-small mt-medium"}," * Release dates due to change ",-1);function fr(e,t,o,r,n,s){var l=(0,i.up)("new-tab-icon");return(0,i.wg)(),(0,i.iD)("div",{class:(0,u.C_)(["bg-grey-dark-darkmode pt-medium pb-medium",e.$store.state.isMobile?"p-xsmall":"p-small"])},[Yo,((0,i.wg)(),(0,i.iD)(i.HY,null,(0,i.Ko)(["open","closed"],(function(e){return(0,i._)("div",{key:e,class:"row"},[(0,i._)("h4",Xo,(0,u.zw)(e),1),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(s.milestonesSorted[e],(function(t){var o,r;return(0,i.wg)(),(0,i.iD)("div",{key:t.id,class:"col-sm-12 col-md-6 col-lg-4 pl-2xsmall pr-2xsmall mb-small"},[(0,i._)("div",Qo,[(0,i._)("div",er,[(0,i._)("a",{href:t.html_url,target:"_blank"},[(0,i._)("h4",or,(0,u.zw)(t.title),1)],8,tr),(0,i._)("div",rr,["closed"===e?((0,i.wg)(),(0,i.iD)(i.HY,{key:0},[(0,i.Uk)(" released: "+(0,u.zw)(s.format(new Date(t.closed_at),"MMM dd yyyy")),1)],64)):t.due_on?((0,i.wg)(),(0,i.iD)(i.HY,{key:1},[(0,i.Uk)(" target: "+(0,u.zw)(s.format(new Date(t.due_on),"MMM dd yyyy")),1)],64)):((0,i.wg)(),(0,i.iD)(i.HY,{key:2},[(0,i.Uk)(" target open ")],64))])]),""!==t.description?((0,i.wg)(),(0,i.iD)("div",ar,[(0,i._)("div",{id:"milestone-".concat(t.id,"-description"),innerHTML:s.parseDescription(t.description),class:(0,u.C_)(["milestone-description mt-small",t.descriptionExpanded?"expanded":""])},null,10,ir),t.descriptionExpanded?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("button",{key:0,class:"type-small weight-bold type-underline color-black",onClick:function(e){return t.descriptionExpanded=!0}}," Expand ",8,nr))])):(0,i.kq)("",!0),t.issues.items.length?((0,i.wg)(),(0,i.iD)("div",sr,[lr,(0,i._)("div",cr,[(0,i._)("div",dr,[(0,i._)("button",{class:(0,u.C_)(["theme type-xsmall w-100 type-center",(o={},(0,Le.Z)(o,"active","open"===t.issuesTab),(0,Le.Z)(o,"disabled",0===t.open_issues),o)]),style:{padding:"0.5rem 0.5rem"},onClick:function(e){return t.issuesTab="open"}}," Open ("+(0,u.zw)(t.open_issues)+") ",11,mr)]),(0,i._)("div",ur,[(0,i._)("button",{class:(0,u.C_)(["theme type-xsmall w-100 type-center",(r={},(0,Le.Z)(r,"active","closed"===t.issuesTab),(0,Le.Z)(r,"disabled",0===t.closed_issues),r)]),style:{padding:"0.5rem 0.5rem"},onClick:function(e){return t.issuesTab="closed"}}," Closed ("+(0,u.zw)(t.closed_issues)+") ",11,pr)])]),(0,i.Wm)(a.uT,{name:"opacity",mode:"out-in"},{default:(0,i.w5)((function(){return[((0,i.wg)(),(0,i.iD)("div",{class:"row mt-xsmall",key:t.issuesTab},[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t.issues.items.filter((function(e){var o=e.state;return t.issuesTab===o})).slice(0,t.issuesExpanded?void 0:3),(function(e){return(0,i.wg)(),(0,i.iD)("div",{key:e.id,class:"card w-100 flex issue-card mb-xsmall type-small p-2xsmall"},[(0,i._)("div",{innerHTML:s.parseIssueDescription(e.title),style:{width:"calc(100% - 1.5rem)"}},null,8,hr),(0,i._)("a",{class:"mt-3xsmall",href:e.html_url,target:"_blank"},[(0,i.Wm)(l,{color:"theme",size:"1.25rem"})],8,br)])})),128)),!t.issuesExpanded&&t.issues.items.filter((function(e){var o=e.state;return t.issuesTab===o})).length>3?((0,i.wg)(),(0,i.iD)("button",{key:0,class:"type-small weight-bold type-underline ml-2xsmall color-black",onClick:function(e){return t.issuesExpanded=!0}}," Show all ",8,gr)):(0,i.kq)("",!0)]))]})),_:2},1024)])):(0,i.kq)("",!0)])])})),128))])})),64)),_r],2)}var wr=o(41472);const yr=(0,l.Z)(wr.Z,[["render",fr]]),kr=yr;var vr=["src"];function Rr(e,t,o,r,a,n){return(0,i.wg)(),(0,i.iD)("div",null,[(0,i._)("iframe",{style:{width:"100%","aspect-ratio":"16/9"},src:"https://www.youtube.com/embed/"+o.videoId+"?html5=1&enablejsapi=1&autoplay=0&rel=0&showinfo=0&modestbranding=1&controls=1&autohide=0&vq=large",frameborder:"0",allowfullscreen:""},"\n ",8,vr)])}const Dr={name:"VideoComponent",props:{videoId:String}},Er=(0,l.Z)(Dr,[["render",Rr]]),Tr=Er;o(44479),o(90887);const Cr={name:"App",components:{VideoComponent:Tr,RoboconBanner:ae,Banner:V,PageFooter:Ee,Navbar:Ze,NavMobile:wt,PageSection:Ct,News:q,CommunityItems:Kt,ResourceBox:_o,TabBox:xo,Sponsors:qo,Milestones:kr,MonacoEditor:(0,i.RC)((function(){return Promise.all([o.e(509),o.e(55)]).then(o.bind(o,61055))}))}},Pr=(0,l.Z)(Cr,[["render",k],["__scopeId","data-v-0ed9c1fe"]]),Ar=Pr;var Fr={class:"container mb-3xlarge"},Sr=["innerHTML"];function xr(e,t,o,r,a,n){var s=(0,i.up)("navbar-sub-page"),l=(0,i.up)("VideoComponent"),c=(0,i.up)("page-section"),d=(0,i.up)("sponsors-detailed"),m=(0,i.up)("page-footer");return(0,i.wg)(),(0,i.iD)("div",null,[(0,i.Wm)(s,{title:"Foundation"}),(0,i._)("div",Fr,[(0,i._)("div",{class:"col-sm-12 col-lg-9 col-lg-offset-3",innerHTML:e.$t("foundation.lead")},null,8,Sr),(0,i.Wm)(l,{videoId:"jlhgitypC5Q",class:"col-sm-12 col-lg-9 col-lg-offset-3"}),(0,i.Wm)(c,{"title-id":"benefits-and-cost",title:e.$t("foundation.benefitsAndCost.title"),body:e.$t("foundation.benefitsAndCost.body")},null,8,["title","body"]),(0,i.Wm)(c,{"title-id":"how-to-join",title:e.$t("foundation.howToJoin.title"),body:e.$t("foundation.howToJoin.body")},null,8,["title","body"]),(0,i.Wm)(c,{"title-id":"what-we-do",title:e.$t("foundation.whatWeDo.title"),body:e.$t("foundation.whatWeDo.body")},{default:(0,i.w5)((function(){return[(0,i.Wm)(d,{class:"col-sm-12 col-lg-9 col-lg-offset-3"})]})),_:1},8,["title","body"])]),(0,i.Wm)(m)])}const Ir={name:"Foundation",components:{VideoComponent:Tr,NavbarSubPage:tt,PageSection:Ct,SponsorsDetailed:Jo,PageFooter:Ee},data:function(){return{publicPath:"/"}}},Mr=(0,l.Z)(Ir,[["render",xr]]),Or=Mr;var Lr={class:"container mb-3xlarge"},Wr={class:"container narrow mt-large",ref:"tabs"},jr=["innerHTML"],Br={class:"mb-none mt-small"},Nr={class:"type-italic type-small mb-small"},qr=["href"],Ur={class:"type-small mb-small"};function Kr(e,t,o,r,a,n){var s=(0,i.up)("navbar-sub-page"),l=(0,i.up)("tab-box"),c=(0,i.up)("page-section"),d=(0,i.up)("page-footer");return(0,i.wg)(),(0,i.iD)("div",null,[(0,i.Wm)(s,{title:"RPA"}),(0,i._)("div",Lr,[(0,i._)("div",Wr,[(0,i._)("div",{innerHTML:e.$t("rpa.hero.description")},null,8,jr),(0,i.Wm)(l,{tabs:e.$tm("rpa.hero.tabs"),"default-tab":e.defaultTab},null,8,["tabs","default-tab"])],512),(0,i.Wm)(c,{"long-title":"","title-id":"intro",title:e.$t("rpa.intro.title"),body:e.$t("rpa.intro.body")},null,8,["title","body"]),(0,i.Wm)(c,{"long-title":"","title-id":"benefits",title:e.$t("rpa.benefits.title"),body:e.$t("rpa.benefits.body")},null,8,["title","body"]),(0,i.Wm)(c,{"long-title":"","title-id":"quickstart",title:e.$t("rpa.quickstart.title"),body:e.$t("rpa.quickstart.body")},null,8,["title","body"]),(0,i.Wm)(c,{"long-title":"","title-id":"resources",title:e.$t("rpa.resources.title"),body:e.$t("rpa.resources.body")},{default:(0,i.w5)((function(){return[((0,i.wg)(),(0,i.iD)(i.HY,null,(0,i.Ko)(["tooling","libraries","tutorials"],(function(t){return(0,i._)("div",{key:t,class:"col-sm-12 col-lg-9 col-lg-offset-3"},[(0,i._)("h3",Br,(0,u.zw)(e.$t("rpa.resources.".concat(t,".title"))),1),(0,i._)("div",Nr,(0,u.zw)(e.$t("rpa.resources.".concat(t,".description"))),1),((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(e.$tm("rpa.resources.".concat(t,".list")),(function(e){return(0,i.wg)(),(0,i.iD)("div",{key:e.name},[(0,i._)("a",{class:"block line-height-small",href:e.href},(0,u.zw)(e.name),9,qr),(0,i._)("div",Ur,(0,u.zw)(e.description),1)])})),128))])})),64))]})),_:1},8,["title","body"])]),(0,i.Wm)(d)])}const zr={name:"RPA",components:{NavbarSubPage:tt,PageSection:Ct,PageFooter:Ee,TabBox:xo},data:function(){return{defaultTab:0}},created:function(){window.navigator.userAgentData.platform.toLowerCase().includes("mac")&&(this.defaultTab=1),window.navigator.userAgentData.platform.toLowerCase().includes("linux")&&(this.defaultTab=2)},mounted:function(){this.$refs.tabs.addEventListener("click",(function(e){var t=e.target;if(t.classList.contains("icon-copy")){var o=new Blob([t.nextElementSibling.innerText],{type:"text/plain"}),r=new window.ClipboardItem({"text/plain":o});navigator.clipboard.write([r]).then((function(){t.classList.add("copied")}))}}))}},Hr=(0,l.Z)(zr,[["render",Kr]]),$r=Hr;var Gr={class:"container mb-3xlarge"},Zr=["innerHTML"];function Vr(e,t,o,r,a,n){var s=(0,i.up)("navbar-sub-page"),l=(0,i.up)("VideoComponent"),c=(0,i.up)("page-footer");return(0,i.wg)(),(0,i.iD)("div",null,[(0,i.Wm)(s,{title:"TestAutomation"}),(0,i._)("div",Gr,[(0,i._)("div",{class:"col-sm-12 col-lg-9 col-lg-offset-3",innerHTML:e.$t("testautomation.lead")},null,8,Zr),(0,i.Wm)(l,{videoId:"0q4-AjqpO9M"}),(0,i.Wm)(l,{videoId:"SypNjILTRl0"}),(0,i.Wm)(l,{videoId:"mSR-HPCBeEQ"}),(0,i.Wm)(l,{videoId:"PFqmZ5GwXgg"}),(0,i.Wm)(l,{videoId:"g98m3XpE8gw"}),(0,i.Wm)(l,{videoId:"Ju90-ewW_gM"})]),(0,i.Wm)(c)])}const Jr={name:"TestAutomation",components:{VideoComponent:Tr,NavbarSubPage:tt,PageFooter:Ee}},Yr=(0,l.Z)(Jr,[["render",Vr]]),Xr=Yr;var Qr={class:"container narrow pl-small pr-small"},ea={class:"row mb-large mt-large"},ta=(0,i.uE)('

Robot Framework Privacy Policy

This Privacy Policy is applicable to the personal data processed by Robot Framework Foundation("Robot Framework" or "we") relating to the users of the Robot Framework website and the Robocon website (hereinafter jointly refered to as “Service”)

This Privacy Policy is also applicable to personal data processed by Robot Framework in regard to the representatives of our member organizations and other partners, including personal data collected in connection to our marketing activities and events. All of the aforementioned data subjects are hereinafter collectively referred to as “Users” or “you.”

The purpose of this Privacy Policy is to provide you with information about the processing of yourpersonal data in accordance with the General Data Protection Regulation 2016/679 (GDPR).

Please note that this Privacy Policy only applies to processing carried out by Robot Frameworkas a data controller. This Privacy Policy does not address, and we are not responsible for, the privacy and data processing practices of any third parties.

In regard to Robot Framework documentation available via Github, Github acts as the datacontroller for any user information. For more information, please see the Github Privacy Statement. The payment transactions for purchases of Robot Framework gear are facilitated via the Reddy platform. For more information please see the Reddy Privacy Statement.

This Privacy Policy may be updated if required in order to reflect the changes in data processing practices or otherwise. The current version can be found on our website. We will not make substantial changes to this Privacy Policy or reduce your rights under this Privacy Policy without providing a notice thereof.

CONTACT DETAILS

Robot Framework Ry
Business ID: 2754775-1
Pohjoinen Rautatiekatu 25, 00100 Helsinki https://robotframework.org/
Contact person: René Rohner, Chairman of The Board, +49 173 7089491
chair@robotframework.org

PERSONAL DATA PROCESSED AND SOURCES OF DATA

We collect two types of information concerning our Users: (i) User Data; and (ii) Analytics Data.

User Data is primarily received directly from you either in connection to your use of the Service or in connection to your interaction with us. In certain cases your personal data may also be directly provided to us by the company or organization you represent.

Analytics Data is collected automatically as you use the Service. Although we do not normally use Analytics Data to identify individuals, sometimes individuals can be recognized from it, either alone or when combined or linked with other data. In such situations, Analytics Data shall also be considered to be personal data under applicable laws and we will treat the combined data as personal data.

User Data and Analytics Data typically consist of the following categories of data:

User Data

  • Name;
  • Organisation and work title;
  • Contact information (such as email address, postal address and phone number);
  • Any direct correspondence with Robot Framework;
  • Information relating to your participation to our events, such as event registrations, attendance and cancellations, event feedback and special dietary restrictions you may provide;
  • Purchase and delivery information for orders of Robot Framework gear;
  • Direct marketing opt-outs and opt-ins.

Analytics Data

  • IP address;
  • Device type and model;
  • Operating system;
  • Time of visit;
  • Browser type and version;
  • Language settings.

COOKIES AND ANALYTICS TOOLS

We use various technologies to collect and store Analytics Data and other information when you visit our Service, including cookies. These technologies are also used to integrate our social media accounts with the Service.

Cookies are small text files sent and saved on your device that allow us to identify visitors of our websites and facilitate the use of our Service and to create aggregate information of our visitors. The cookies will not harm your device or files. We may use cookies to tailor and improve our Service.

Users may choose to set their web browser to refuse cookies, or to alert when cookies are being sent. For example, the following links provide information on how to adjust the cookie settings on some popular browsers:

Please note that some parts of our Service may not function properly if the use of cookies is refused. We use Google Analytics to compile Analytics Data and reports on visitor usage. For an overview of Google Analytics, please visit Google Analytics It is possible to opt-out of Google Analytics with the following browser add-on tool: Google Analytics opt-out add-on.

PURPOSES AND LEGITIMATE GROUNDS OF PROCESSING

  • Purposes of processing
  • To provide our Service and to carry out our contractual obligations (legal ground: performance of a contract and legitimate interest)
    We process personal data to be able to offer the Service to our Users and to run and maintain our operations. Personal data may be processed in order to carry out our contractual obligations towards the individual User or towards the organization the User represents. We may use the data for example to process member applications or to process orders of Robot Framework gear. For our legal obligations (legal ground: compliance with a legal obligation)
    We process personal data to enable us to administer and fulfil our obligations under law. This includes data processed for complying with our accounting obligations and providing information to relevant authorities. For claims handling and legal processes (legal ground: legitimate interest)
    We may process personal data in relation to claims handling, debt collection and legal processes. We may also process data for the prevention of fraud, misuse of our ervices and for data, system and network security.
    For communication and marketing (legal ground: legitimate interest)
    We may process personal data for the purpose of contacting our Users regarding our Service and events and for informing Users of changes in our Service, overall operations or updates to the documentation and tools we provide. We may also process personal data for direct marketing purposes, for example in the form of sending newsletters.
    For quality improvement and trend analysis (legal ground: legitimate interest)
    We may process information regarding your use of the Service to improve the quality of our Service, for example by analysing any trends in the use of our Service. Similarly we may process any feedback provided by you to improve our operations in general. Where possible, we will do this using only aggregated, non-personally identifiable data.
  • Legal grounds for processing
  • We primarily process personal data on a contractual basis. For individuals acting asrepresentatives of our customer or partner organizations, personal data is primarilyprocessed based on our legitimate interest whilst fulfilling our contractual obligationstowards the organisations they represent.
  • We may also process personal data based on our legitimate interests, for example in connection with analytics and marketing. When choosing to use your data on the basis of our legitimate interests, we carefully weigh our own interests against your right to privacy.
  • In certain cases you may be requested to grant your consent for the processing of your personal data. In this event, the legal ground for such processing is your consent. You may withdraw your consent at any time.

INTERNATIONAL TRANSFERS

Robot Framework stores personal data primarily within the European Economic Area. However, we have service providers in several geographical locations. As such, we, our service providers may transfer personal data to, or access it in, jurisdictions outside the European Economic Area or outside of your domicile.

We will take steps to ensure that your personal data receives an adequate level of protection in the jurisdictions in which it is processed. We provide adequate protection for the transfers of personal data to countries outside of the European Economic Area through a series of agreements with our service providers based on the Standard Contractual Clauses or through other appropriate safeguards, such as the Privacy Shield Framework.

PERSONAL DATA RECIPIENTS

We do not share personal data with third parties outside of Robot Framework’s organizationunless one of the following circumstances applies:

  • For legal reasons
  • We may share personal data with third parties outside of our organization if we have a good-faith belief that access to and use of the personal data is reasonably necessary to: (i) meet any applicable law, regulation, and/or court order; (ii) detect, prevent, or otherwise address fraud, security or technical issues; and/or (iii) protect the interests, property or safety of Robot Framework, our Users or the public in accordance with the law. When possible, we will inform you about such transfer and processing.
  • To authorized service providers
  • We may share personal data to authorized service providers who perform services for us(including data storage, sales, marketing and support services). Our agreements with ourservice providers include commitments that the service providers agree to limit their useof personal data and to comply with privacy and security standards at least as stringentas the terms of this Privacy Policy.
  • For other legitimate reasons
  • If Robot Framework is involved in an acquisition or similar reconstructing, we maytransfer personal data to the third party involved. However, we will continue to ensure theconfidentiality of all personal data. We will give notice to those concerned when thepersonal data are transferred or become subject to a different privacy policy as soon asreasonably possible.
  • With explicit consent
  • We may share personal data with third parties outside of our organization for otherreasons than the ones mentioned before, when we have your explicit consent to do so.You have the right to withdraw this consent at all times.

STORAGE PERIOD

  • Robot Framework does not store personal data longer than is legally permitted and necessary for purposes of providing the Service or the relevant parts thereof, or for another individual purpose for which your personal data is being processed. The storage period depends on the nature of the information and the purposes of processing. The maximum period may therefore vary per use.
  • We will store Analytics Data relating to the Service 50 months

YOUR RIGHTS

  • Right to access
  • You have the right to access your personal data processed by us. You may contact us and we will inform what personal data we have collected and processed regarding you.
  • Right to withdraw consent
  • In case the processing is based on a consent you have granted to us, you may withdraw the consent at any time. Withdrawing a consent may lead to fewer possibilities to use our Service. The withdrawal of consent does not affect the lawfulness of processing based on consent before its withdrawal.
  • Right to rectify
  • You have the right to have incorrect or incomplete personal data we have stored about you corrected or completed by contacting us.
  • Right to erasure
  • You may also ask us to erase your personal data from our systems. We will comply with such request unless we have a legitimate ground to not delete the data.
  • Right to object
  • You have the right to object to certain use of your personal data if such data are processed for other purposes than necessary for the performance of the Service or for compliance with a legal obligation. If you object to the further processing of your personal data, this may lead to fewer possibilities to use the our Service.
  • Right to restriction of processing
  • You may request us to restrict processing of personal data for example when your data erasure, rectification or objection requests are pending and/or when we do not have legitimate grounds to process your data. This may however lead to fewer possibilities to use our Service.
  • Right to data portability
  • You have the right to receive your personal data from us in a structured and commonly used format and to independently transmit those data to a third party.
  • How to use the rights
  • The above mentioned rights may be used by sending a letter or an e-mail to us on the addresses set out above. We may request the provision of additional information necessary to confirm your identity.
  • We reserve the right to reject requests that are unreasonably repetitive, excessive or manifestly unfounded.

DIRECT MARKETING

  • Notwithstanding any consent granted beforehand for the purposes of direct marketing, you have the right to prohibit us from using your personal data for direct marketing purposes, market research and profiling made for direct marketing purposes by contacting us on the addresses indicated above or by using the unsubscribe possibility offered in connection with any direct marketing messages.

INFORMATION SECURITY

  • We use administrative, organizational, technical, and physical safeguards to protect the personal data we collect and process. Our security controls are designed to maintain an appropriate level of data confidentiality, integrity, availability, resilience and ability restore the data. We regularly test our systems, and other assets for security vulnerabilities.
  • Should despite of the security measures, a security breach occur that is likely to have negative effects on your privacy, we will inform you and other affected parties, as well as relevant authorities when required by applicable data protection laws, about the breach as soon as possible.

LODGING A COMPLAINT

  • In case you consider our processing of personal data to be inconsistent with the applicable data protection laws, a complaint may be lodged with the local supervisory authority for data protection.

In Finland, the local supervisory authority is the Data Protection Ombudsman (https://www.tietosuoja.fi).

',2),oa={class:"mb-xlarge"};function ra(e,t,o,r,a,n){var s=(0,i.up)("router-link");return(0,i.wg)(),(0,i.iD)("div",Qr,[(0,i._)("div",ea,[(0,i.Wm)(s,{to:{name:"Home"}},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Back ")]})),_:1})]),ta,(0,i._)("div",oa,[(0,i.Wm)(s,{to:{name:"Home"}},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Back ")]})),_:1})])])}const aa={name:"PrivacyPolicy"},ia=(0,l.Z)(aa,[["render",ra]]),na=ia;var sa={class:"container narrow mb-xlarge pl-small pr-small"},la={class:"row mb-large mt-large"},ca=(0,i.uE)('

Robot Framework Code of Conduct

ROBOT FRAMEWORK FOUNDATION is dedicated to providing a harassment-free experience for everyone, regardless of gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, age, race, or religion. We do not tolerate harassment of participants in any form.

This code of conduct applies to all ROBOT FRAMEWORK spaces, both online and off. Anyone who violates this code of conduct may be sanctioned or expelled from these spaces at the discretion of the Robot Framework board.

Some ROBOT FRAMEWORK spaces may have additional rules in place, which will be made clearly available to participants. Participants are responsible for knowing and abiding by these rules. If you are being harassed by a member of ROBOT FRAMEWORK, notice that someone else is being harassed, or have any other concerns, please Contact awareness@robotframework.org.

Harassment includes

  • Offensive comments related to gender, gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, age, race, or religion.
  • Unwelcome comments regarding a person’s lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment.
  • Deliberate misgendering or use of ‘dead’ or rejected names.
  • Gratuitous or off-topic sexual images or behaviour in spaces where they’re not appropriate.
  • Physical contact and simulated physical contact (eg, textual descriptions like “*hug*” or “*backrub*”) without consent or after a request to stop.
  • Threats of violence.
  • Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm.
  • Deliberate intimidation.
  • Stalking or following.
  • Harassing photography or recording, including logging online activity for harassment purposes.
  • Sustained disruption of discussion.
  • Unwelcome sexual attention.
  • Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others
  • Continued one-on-one communication after requests to cease.
  • Deliberate “outing” of any aspect of a person’s identity without their consent except as necessary to protect vulnerable people from intentional abuse.
  • Publication of non-harassing private communication.

ROBOT FRAMEWORK community prioritizes marginalized people’s safety over privileged people’s comfort. The Robot Framework board reserves the right not to act on complaints regarding:

  • ‘Reverse’ -isms, including ‘reverse racism,’ ‘reverse sexism,’ and ‘cisphobia’
  • Reasonable communication of boundaries, such as “leave me alone,” “go away,” or “I’m not discussing this with you.”
  • Communicating in a ‘tone’ you don’t find congenial
  • Criticizing racist, sexist, cissexist, or otherwise oppressive behaviour or assumptions

Reporting

  • If you are being harassed by a member of ROBOT FRAMEWORK, notice that someone else is being harassed, or have any other concerns, please contact awareness@robotframework.org. If the person who is harassing you is on the team, they will recuse themselves from handling your incident. We will respond as promptly as we can.
  • This code of conduct applies to ROBOT FRAMEWORK spaces, but if you are being harassed by a member of ROBOT FRAMEWORK outside our spaces, we still want to know about it. We will take all good-faith reports of harassment by ROBOT FRAMEWORK members seriously. This includes harassment outside our spaces and harassment that took place at any point in time. The abuse team reserves the right to exclude people from ROBOT FRAMEWORK based on their past behaviour, including behaviour outside ROBOT FRAMEWORK spaces and behaviour towards people who are not in ROBOT FRAMEWORK community.
  • In order to protect volunteers from abuse and burnout, we reserve the right to reject any report we believe to have been made in bad faith. Reports intended to silence legitimate criticism may be deleted without response.
  • We will respect confidentiality requests for the purpose of protecting victims of abuse. At our discretion, we may publicly name a person about whom we’ve received harassment complaints, or privately warn third parties about them, if we believe that doing so will increase the safety of ROBOT FRAMEWORK members or the general public. We will not name harassment victims without their affirmative consent.

Consequences

  • Participants asked to stop any harassing behaviour are expected to comply immediately.
  • If a participant engages in harassing behaviour, the Robot Framework board may take any action they deem appropriate, up to and including expulsion from all ROBOT FRAMEWORK spaces and identification of the participant as a harasser to other ROBOT FRAMEWORK members or the general public.
',12),da={class:"row mb-large mt-large"};function ma(e,t,o,r,a,n){var s=(0,i.up)("router-link");return(0,i.wg)(),(0,i.iD)("div",sa,[(0,i._)("div",la,[e.cameFromHome?((0,i.wg)(),(0,i.iD)("button",{key:0,onClick:t[0]||(t[0]=function(t){return e.$router.go(-1)}),class:"color-theme type-underline"}," Back ")):((0,i.wg)(),(0,i.j4)(s,{key:1,to:{name:"Home"}},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Back ")]})),_:1}))]),ca,(0,i._)("div",da,[e.cameFromHome?((0,i.wg)(),(0,i.iD)("button",{key:0,onClick:t[1]||(t[1]=function(t){return e.$router.go(-1)}),class:"color-theme type-underline"}," Back ")):((0,i.wg)(),(0,i.j4)(s,{key:1,to:{name:"Home"}},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Back ")]})),_:1}))])])}const ua={name:"Coc",data:function(){return{cameFromHome:!1}},beforeRouteEnter:function(e,t,o){o((function(e){e.cameFromHome="Home"===t.name}))}},pa=(0,l.Z)(ua,[["render",ma]]),ha=pa;var ba={class:"container mb-xlarge p-small"},ga=["innerHTML"],_a={class:"row"},fa=["href"],wa=["innerHTML"];function ya(e,t,o,r,n,s){var l=(0,i.up)("navbar-sub-page");return(0,i.wg)(),(0,i.iD)("div",null,[(0,i.Wm)(l,{title:"Users"}),(0,i._)("div",ba,[(0,i._)("h2",null,(0,u.zw)(e.$t("usersPage.title")),1),(0,i._)("p",{innerHTML:e.$t("usersPage.body")},null,8,ga),(0,i._)("div",_a,[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(s.columns,(function(t,o){return(0,i.wg)(),(0,i.iD)("div",{key:o,class:(0,u.C_)(["p-small","\n col-sm-".concat(12/s.columns.length,"\n ").concat(0===o&&1!==e.columnAmount?"pl-none pr-medium":"pl-small","\n ").concat(o===s.columns.length-1&&1!==e.columnAmount?"pr-none pl-medium":"pr-small")])},[((0,i.wg)(!0),(0,i.iD)(i.HY,null,(0,i.Ko)(t,(function(t,r){return(0,i.wg)(),(0,i.iD)("div",{key:t.name},[(0,i.Wm)(a.uT,{appear:"",name:"opacity-slow"},{default:(0,i.w5)((function(){return[(0,i._)("div",{class:"card p-small mb-large bg-white user-card",style:(0,u.j5)("transition-delay: ".concat((r/10+o/s.columns.length/10)*s.columns.length+.1,"s;"))},[(0,i._)("div",{class:"img-container mb-small",style:(0,u.j5)("background-image: url(".concat(e.publicPath,"img/users/").concat(t.imgName,")"))},null,4),(0,i._)("h3",null,[(0,i._)("a",{href:t.href,target:"_blank"},(0,u.zw)(t.title),9,fa)]),(0,i._)("p",{innerHTML:t.text},null,8,wa)],4)]})),_:2},1024)])})),128))],2)})),128))])])])}const ka={name:"Users",components:{NavbarSubPage:tt},data:function(){return{publicPath:"/",columnAmount:4,cameFromHome:!1}},computed:{columns:function(){return 4===this.columnAmount?[this.$tm("resourcesList.users").filter((function(e,t){return t%4===0})),this.$tm("resourcesList.users").filter((function(e,t){return t%4===1})),this.$tm("resourcesList.users").filter((function(e,t){return t%4===2})),this.$tm("resourcesList.users").filter((function(e,t){return t%4===3}))]:3===this.columnAmount?[this.$tm("resourcesList.users").filter((function(e,t){return t%3===0})),this.$tm("resourcesList.users").filter((function(e,t){return t%3===1})),this.$tm("resourcesList.users").filter((function(e,t){return t%3===2}))]:2===this.columnAmount?[this.$tm("resourcesList.users").filter((function(e,t){return t%2===0})),this.$tm("resourcesList.users").filter((function(e,t){return t%2===1}))]:[this.$tm("resourcesList.users")]}},created:function(){window.addEventListener("resize",this.calculateColumnAmount),this.calculateColumnAmount(),window.history.replaceState(null,null,null)},beforeUnmount:function(){window.removeEventListener("resize",this.calculateColumnAmount)},beforeRouteEnter:function(e,t,o){o((function(e){e.cameFromHome="Home"===t.name}))},methods:{calculateColumnAmount:function(){window.innerWidth<450?this.columnAmount=1:window.innerWidth<900?this.columnAmount=2:window.innerWidth<1300?this.columnAmount=3:this.columnAmount=4}}},va=(0,l.Z)(ka,[["render",ya],["__scopeId","data-v-acaa66fe"]]),Ra=va;function Da(e,t,o,r,a,n){var s=(0,i.up)("navbar-sub-page"),l=(0,i.up)("editor");return(0,i.wg)(),(0,i.iD)("div",null,[(0,i.Wm)(s,{title:"Code Playground"}),(0,i.Wm)(l)])}const Ea={name:"CodeEditor",components:{NavbarSubPage:tt,Editor:(0,i.RC)((function(){return Promise.all([o.e(509),o.e(55)]).then(o.bind(o,61055))}))}},Ta=(0,l.Z)(Ea,[["render",Da]]),Ca=Ta;function Pa(e,t,o,r,a,n){var s=(0,i.up)("editor");return(0,i.wg)(),(0,i.iD)("div",null,[(0,i.Wm)(s)])}const Aa={name:"EmbeddedEditor",components:{Editor:(0,i.RC)((function(){return Promise.all([o.e(509),o.e(542)]).then(o.bind(o,3542))}))}},Fa=(0,l.Z)(Aa,[["render",Pa]]),Sa=Fa;var xa={class:"login-form-container"},Ia={key:0,class:"login-form"},Ma=["src"],Oa=["src"],La={key:1},Wa={key:2};function ja(e,t,o,r,n,s){return(0,i.wg)(),(0,i.iD)("div",xa,[e.invalid||e.valid?(0,i.kq)("",!0):((0,i.wg)(),(0,i.iD)("form",Ia,[e.isDarkMode?((0,i.wg)(),(0,i.iD)("img",{key:0,src:"".concat(e.publicPath,"img/RF-white.svg"),class:"small-robot"},null,8,Ma)):((0,i.wg)(),(0,i.iD)("img",{key:1,src:"".concat(e.publicPath,"img/RF.svg"),class:"small-robot"},null,8,Oa)),(0,i._)("label",null,[(0,i.Uk)("Username"),(0,i.wy)((0,i._)("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=function(t){return e.username=t})},null,512),[[a.nr,e.username]])]),(0,i._)("label",null,[(0,i.Uk)("Password"),(0,i.wy)((0,i._)("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=function(t){return e.password=t})},null,512),[[a.nr,e.password]])]),(0,i._)("input",{type:"submit",value:"Login",onClick:t[2]||(t[2]=function(){return s.checkUsernameAndPassword&&s.checkUsernameAndPassword.apply(s,arguments)})})])),e.invalid?((0,i.wg)(),(0,i.iD)("span",La,"No humans allowed!")):(0,i.kq)("",!0),e.valid?((0,i.wg)(),(0,i.iD)("span",Wa,"I salute you, Robot overloard!")):(0,i.kq)("",!0)])}const Ba={name:"Demoapp",data:function(){return{publicPath:"/",isDarkMode:!1,username:"",password:"",invalid:!1,valid:!1}},created:function(){this.isDarkMode=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches},methods:{checkUsernameAndPassword:function(e){"robot"===this.username&&"overloard"===this.password?this.valid=!0:this.invalid=!0,document.title="Robots rule",e.preventDefault()}}},Na=(0,l.Z)(Ba,[["render",ja],["__scopeId","data-v-6a9ed5b0"]]),qa=Na;var Ua={class:"container"},Ka={class:"row center type-center",style:{"margin-top":"calc(100vh / 2 - 7rem)"}},za=(0,i._)("div",{class:"col-sm-12"},[(0,i._)("h3",null,"404 - Not found")],-1),Ha=["src"],$a=["src"],Ga={class:"col-sm-12 mt-medium"};function Za(e,t,o,r,a,n){var s=(0,i.up)("router-link");return(0,i.wg)(),(0,i.iD)("div",Ua,[(0,i._)("div",Ka,[za,e.isDarkMode?((0,i.wg)(),(0,i.iD)("img",{key:0,src:"".concat(e.publicPath,"img/RF-white.svg")},null,8,Ha)):((0,i.wg)(),(0,i.iD)("img",{key:1,src:"".concat(e.publicPath,"img/RF.svg"),class:"mt-small"},null,8,$a)),(0,i._)("div",Ga,[(0,i.Wm)(s,{to:{name:"Home"}},{default:(0,i.w5)((function(){return[(0,i.Uk)(" Back to home ")]})),_:1})])])])}const Va={name:"NotFound",data:function(){return{publicPath:"/",isDarkMode:!1}},created:function(){window.plausible("404",{props:{path:document.location.pathname}}),this.isDarkMode=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}},Ja=(0,l.Z)(Va,[["render",Za]]),Ya=Ja;var Xa=[{path:"/",name:"Home",component:Ar},{path:"/foundation",name:"Foundation",component:Or},{path:"/rpa",name:"RPA",component:$r,meta:{title:"RPA"}},{path:"/test-automation",name:"Test Automation",component:Xr,meta:{title:"Test Automation"}},{path:"/foundation",name:"Foundation",component:Or,meta:{title:"Foundation"}},{path:"/robot-framework-foundation",redirect:{name:"Foundation"}},{path:"/privacy-policy",name:"PrivacyPolicy",component:na,meta:{title:"Privacy Policy"}},{path:"/code-of-conduct",redirect:{name:"CoC"}},{path:"/code-of-ethics",name:"CoC",component:ha,meta:{title:"Code of Ethics"}},{path:"/users",name:"Users",component:Ra,meta:{title:"Users"}},{path:"/code",name:"Code",component:Ca,meta:{title:"Playground"}},{path:"/embed",name:"Embed",component:Sa,meta:{title:"EmbeddedCode"}},{path:"/demoapp",name:"DemoApp",component:qa},{path:"/:pathMatch(.*)*",name:"NotFound",component:Ya,meta:{title:"404"}}],Qa=(0,m.p7)({history:(0,m.PO)(),routes:Xa,scrollBehavior:function(e,t,o){return o||{top:0}}});Qa.afterEach((function(e,t,o){var r=e.meta.title;return document.title=r?"".concat(r," | Robot Framework"):"Robot Framework",!0}));const ei=Qa;var ti=o(33907);const oi=(0,ti.MT)({state:{isMobile:null,isTablet:null,isDesktop:null,milestones:[],stars:[]},mutations:{SET_IS_MOBILE:function(e,t){e.isMobile=t},SET_IS_TABLET:function(e,t){e.isTablet=t},SET_IS_DESKTOP:function(e,t){e.isDesktop=t},SET_VALUE:function(e,t){var o=t.key,r=t.value;e[o]=r}},actions:{},modules:{}});var ri=o(85845),ai=o(30837),ii=o(66246);const ni=function(){return{foundation:{lead:'

Robot Framework Foundation is a non-profit consortium that fosters the growth of Robot Framework.\n It was founded by companies with a common interest to ensure the development of Robot Framework now and in\n the future. We are always looking for new members to join.

',benefitsAndCost:{title:"Benefits and cost",body:'

When your company becomes a member you will:

\n
    \n
  1. Ensure Robot Framework is maintained and developed
  2. \n
  3. Get visibility about your membership for your company if you wish
  4. \n
  5. Gain ability to participate in decision making
  6. \n
  7. Get all this for an affordable price per user
  8. \n
\n

Annual Fees

\n

Annual fee is determined by how many Robot Framework users are in your organization:

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
UsersFee
1-2500€
3-101500€
11-503000€
51-2506000€
251-12000€
'},howToJoin:{title:"How to join",body:"

If you'd like to become a member of Robot Framework Foundation, please

\n
    \n
  1. Fill in the application
  2. \n
  3. Robot Framework Foundation board will make a voting according to our rules
  4. \n
  5. You are added to the webpage and mailing list, when you are accepted
  6. \n
  7. Welcome to make the world of Open Source and Automation better!
  8. \n
\n

If you have any questions related to the membership, please send an email to\n board{at}{'@'}{at}robotframework.org\n and we will get back to you.

\n

For existing members

\n

If your contact person changes and for other such matters, please contact admin{at}{'@'}{at}robotframework.org

\n "},whatWeDo:{title:"What we do",body:'

We sponsor the development of Robot Framework. Sponsoring other projects in the wider\n Robot Framework ecosystem can also be considered. We take care of the overall Robot Framework infrastructure\n including public websites, email lists and CI servers. We promote Robot Framework by organizing meetups and\n the yearly conference RoboCon.\n
Read more..

\n

Robot Framework Foundation Members

'}}}},si=function(){return{rpa:{hero:{description:'\n

\n Get started in seconds with Robot Framework RPA\n

\n

\n Here´s how you set up your first RPA project\n

',tabs:[{name:"Windows",description:'\n
curl -o rcc.exe https://downloads.robocorp.com/rcc/releases/latest/windows64/rcc.exe\n  rcc create example\n  cd example\n  rcc run
'},{name:"macOS",description:'\n
brew install robocorp/tools/rcc\n  rcc create example\n  cd example\n  rcc run
'},{name:"Linux",description:'\n
curl -o rcc https://downloads.robocorp.com/rcc/releases/latest/linux64/rcc\n  chmod a+x rcc\n  rcc create example\n  cd example\n  rcc run
'}]},intro:{title:"What is Robot Framework RPA?",body:"

RPA stands for Robotic Process Automation and it’s a method for automating routine\n tasks and processes through user interfaces, APIs, and other interactions that mimic the way\n a human user performs tasks. The power of RPA lies in how you can automate tasks without having\n to change the underlying systems.

\n\n

Robot Framework is a keyword-driven automation framework that sits on top of Python. It is an\n abstraction that lets you write powerful automations with simple human-readable commands and minimum overhead.

\n\n

The power of Robot Framework comes from its ecosystem of tools, libraries, and community. It is\n the world’s most popular and widely used framework for open-source RPA.

"},benefits:{title:"Why use it and what can you do with it?",body:"

Robot Framework and its ecosystem projects are 100% free and open-source. It is used\n by thousands of developers worldwide and the core Robot Framework is supported by dozens of\n companies through the Robot Framework foundation. Hundreds of companies globally offer support\n and services in the Robot Framework ecosystem.

\n\n

Robot Framework is natively extendable through libraries that are built on Python.\n Creating new extensions is extremely simple, so you never run out of capabilities. Community-built\n libraries around Robot Framework provide the functionality to perform virtually any RPA task imaginable.

\n\n

There are literally tens of thousands of use-cases for RPA with Robot Framework. Anything\n from automating financial processes like accounts payable, order to cash, procure to pay,\n to healthcare applications around electronic health records, or HR applications such as new employee\n onboarding. You can complete any routine task that a human would do through digital workers built on the Robot Framework.

"},quickstart:{title:"Quickstart",body:'

Quickstart is still work in progress and will be released later this year.\n Meanwhile, check User Guide for general task creation instructions!

'},resources:{title:"Resources",body:"

Robot Framework itself provides the language to describe automations. To create an RPA\n bot with Robot Framework, you’ll combine tooling (develop, package, run) with libraries (bot capabilities.)\n This list is a collection of RPA resources to get you started

",tooling:{title:"Tooling",description:"Tools for developing and running bots with Robot Framework",list:[{name:"RCC",href:"https://github.com/robocorp/rcc#readme",description:"Toolchain for creating, packaging, and running bots with Robot Framework and Python"},{name:"Robot Framework Language Server for VS Code",href:"https://marketplace.visualstudio.com/items?itemName=robocorp.robotframework-lsp",description:"VS Code extension for Robot Framework language"},{name:"RCC features for VS Code",href:"https://marketplace.visualstudio.com/items?itemName=robocorp.robocorp-code",description:"VS Code extension for RCC"}]},libraries:{title:"Libraries",description:"RPA focused / useful libraries",list:[{name:"RPA framework",href:"https://rpaframework.org",description:"Common RPA functionality in a single library - includes desktop, browser, Excel, PDF, email, and many more capabilities"},{name:"Playwright",href:"https://robotframework-browser.org",description:"Powerful browser automation library utilizing Playwright. It comes with a built-in browser."},{name:"SAP GUI Library",href:"https://github.com/frankvanderkuur/robotframework-sapguilibrary",description:"GUI automation for SAP"},{name:"Mainframe 3270 Library",href:"https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library",description:"Automating 3270 mainframes"},{name:"DataDriver Libary",href:"https://github.com/Snooz82/robotframework-datadriver",description:"Data-driven automation through tables (csv, xls, xlsx, etc.)"}]},tutorials:{title:"Examples and tutorials for RPA",description:"",list:[{name:"Robocorp Portal",href:"https://robocorp.com/portal/",description:"Examples and templates for RPA projects"},{name:"Robocorp RPA certifications",href:"https://robocorp.com/docs/courses",description:"Robocorp certification trainings for RPA (free)"}]}}}}},li=function(){return{testautomation:{lead:'

"In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testing that would be difficult to do manually. Test automation is critical for continuous delivery and continuous testing." - Wikipedia

Here are some examples of Robot Framework usage in test automation from robocons:

'}}},ci=function(){return(0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},ni()),si()),li()),{},{langName:"English",newsBanner:"",navbar:{items:[{name:"Getting started",id:"getting-started"},{name:"Resources",id:"resources"},{name:"Community",id:"community"},{name:"Development",id:"development"}],dropdownDocs:{name:"Docs",items:[{name:"Guides (new)",url:"https://docs.robotframework.org/docs",description:"How to start"},{name:"User Guide",url:"https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html",description:"All features explained"},{name:"BuiltIn Library",url:"https://robotframework.org/robotframework/latest/libraries/BuiltIn.html",description:"Always available keywords"},{name:"Standard Libraries",url:"https://robotframework.org/robotframework/#standard-libraries",description:"Keyword documentation"},{name:"Public API",url:"https://robot-framework.readthedocs.io/en/stable/",description:"Build RF extensions"}]}},introduction:{title:"Introduction",body:'Robot Framework is a generic open source automation framework.\n It can be used for test automation and robotic process automation (RPA).

\n\n Robot Framework is supported by Robot Framework Foundation.\n Many industry-leading companies use the tool in their software development.

\n\n Robot Framework is open and extensible. Robot Framework can be integrated with virtually any\n other tool to create powerful and flexible automation solutions.\n Robot Framework is free to use without licensing costs.

\n\n Robot Framework has an easy syntax, utilizing human-readable keywords. Its capabilities can be extended\n by libraries implemented with Python, Java or many other programming languages.\n Robot Framework has a rich ecosystem around it, consisting of libraries and tools that are developed as separate projects.',usedByTitle:"Robot Framework is used by...",companies:[{name:"ABB",description:"ABB is using Robot Framework in software development for testing distribution automation related configuration tools, web interfaces and embedded devices.",imgName:"ABB.svg"},{name:"Cisco",description:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise.",imgName:"Cisco.svg"},{name:"Condé Nast",description:'Condé Nast transformed their quality assurance for their brand sites, such as Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.',imgName:"Condé_Nast.svg"},{name:"KONE",description:"KONE is widely using Robot Framework in software development for testing embedded systems in elevators and escalators.",imgName:"Kone.svg"},{name:"Finnair",description:"Finnair is using Robot Framework to support Finnair digital platform development.",imgName:"Finnair.svg"},{name:"Finnish Tax Administration",description:"Finnish Tax Administration is using Robot Framework in multiple projects.\n Robot Framework is one of the core tools in their development to make Quality Assurance and Automation.",imgName:"Vero.svg"},{name:"Juniper Networks",description:"Juniper Networks has built an extensive automation framework on top of Robot Framework for end-to-end qualification of Juniper products. It is used extensively in multiple groups including engineering and support.",imgName:"Juniper_Networks.svg"},{name:"Naval Research Laboratory",description:'The Naval Research Laboratory extends Robot Framework to provide a seamless integration with the SAGE multi-agent system. This integration enables Robot Framework to drive distributed simulation and monitoring for test automation of SOA systems.',imgName:"Naval_Research_Laboratory.svg"},{name:"Nokia",description:"Robot Framework was initially developed at Nokia Networks and it is used extensively around the whole company. It is used for testing different devices, software systems and protocols via GUIs, APIs and various other interfaces.",imgName:"Nokia.svg"}]},gettingStarted:{title:"Getting Started",body:'Code is worth a thousand words.\n

Below you\'ll find a live Robot Framework editor with embedded WASM Python environment to run it online.\n Feel free to experiment with it! NOTE: This is the editor\'s first release. If you find bugs,\n please report them in Github issues.

\n

To start using Robot Framework in a project of your own, please check tabs "Install" and "Learn". Also be sure to visit the new Robot Framework Docs!

',tabs:[{name:"Editor"},{name:"Install",description:'\n

Robot Framework is implemented with Python, so you need to have\n Python installed.\n
On Windows machines, make sure to add\n Python to PATH\n during installation.

\n

Installing Robot Framework with pip is simple:\n

pip install robotframework

\n

To check that the installation was successful, run\n

robot --version

\n

For a full guide, please see\n Installation instructions.\n It also covers topics such as running Robot Framework on Jython (JVM) and IronPython (.NET).

\n

Now you are ready to write your first tests!

\n '},{name:"Learn"}]},community:{title:"Community",body:'

Robot Framework has a vibrant community of testing enthusiasts around it. Feel free to\n stop by if you have any questions, need advice or would just like to connect with like-minded people!

\n

There is also an annual RoboCon conference that is hosted in Helsinki, Finland.\n For more information and to watch previous years\' talks, visit\n robocon.io or our\n YouTube Channel.

\n

To support Robot Framework you can find a 👕 T-shirt\n and a ☕ coffee cup\n from our Shop.

\n',links:{forum:{title:"Forum",description:"Official Robot Framework forum."},slack:{title:"Slack",description:'Community team chat.
Click for invite!'}}},resources:{title:"Resources",body:'

Robot Framework is open source and supported by Robot Framework Foundation.\n There is a huge community of contributors around the tool.\n The software is built with expandability in mind and there are numerous ways to extend\n it\'s use cases for various needs.

\n

If you have created or found a library that you think should be listed here, please\n let us know\n by submitting a pull request or an issue. You are also welcome to report unmaintained\n ones that shouldn\'t be listed anymore.',tabs:[{name:"Libraries",key:"libraries",description:'Separately developed external libraries that\n can be installed based on your needs. Creating your own libraries is a breeze. For instructions, see\n \n creating test libraries in Robot Framework User Guide.'},{name:"Built-in",key:"builtin",description:"Libraries and tools that are bundled with the framework. Libraries provide\n the actual automation and testing capabilities to Robot Framework by providing keywords."},{name:"Tools",key:"tools",description:"Supporting tools ease automation: editing, running, building and so on.\n Most of these tools are developed as separate projects, but some are built into the framework itself."}],mobileTitles:["Standard","External"]},development:{title:"Development",body:'

Development of Robot Framework is funded by the non-profit\n Robot Framework Foundation. It consists\n of companies and organizations that want to ensure the continuity of Robot Framework now and\n in the future.

\n

Project is hosted at GitHub

\n

Thanks to the sponsors, Robot Framework remains completely\n free to use while being actively maintained and developed. Foundation also covers other\n related expenses such as the development of this website and organizing various meetups.',sponsorBoxTitle:"Members of Robot Framework Foundation",howToJoin:'How to join'},usersPage:{title:"Users of Robot Framework",body:'If you\'d like your company added here, please submit a\n pull request or an\n issue.'}})},di=function(){return{langName:"Deutsch",newsBanner:'RF 4.0 is out! Click here for release notes',navbar:{items:["Einführung","Einstieg","Gemeinschaft","Ressourcen"],dropdownName:"Links",dropdown:[{name:"Github",url:"https://github.com/robotframework/robotframework",description:"Source code + issues"},{name:"Forum",url:"http://forum.robotframework.org/",description:"Discuss Robot Framework"},{name:"Foundation",url:"https://robotframework.org/foundation/",description:"Support the development"},{name:"Robocon",url:"https://robocon.io/",description:"Annual conference"},{name:"Shop",url:"https://reddyshop.co/robotframework/",description:"Support the development"},{name:"RPA",url:"https://robotframework.org/rpa/",description:"RPA stuff"}]},introduction:{title:"Introduction",body:"Robot Framework is a generic open source automation framework.\n It can be used for test automation and robotic process automation (RPA).

\n\n Robot Framework is actively supported, with many industry-leading companies using it in their software development.

\n\n Robot Framework is open and extensible and can be integrated with virtually any other tool to create powerful and flexible automation solutions.\n Being open source also means that Robot Framework is free to use without licensing costs.\n Robot Framework has easy syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries implemented with Python or Java.\n The framework has a rich ecosystem around it, consisting of libraries and tools that are developed as separate projects.",companies:[{name:"ABB",description:"ABB is using Robot Framework in software development for testing distribution automation related configuration tools, web interfaces and embedded devices.",imgName:"ABB.svg"},{name:"Cisco",description:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise as part of a NetDevOps (CI/CD) process where continuous validation accelerates technology adoption, de-risks IT deployments, changes and upgrades, and ensures complex migrations are transparent.",imgName:"Cisco.svg"},{name:"Condé Nast",description:'Condé Nast transformed their quality assurance for their brand sites, such as Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.',imgName:"Condé_Nast.svg"},{name:"KONE",description:"KONE is widely using Robot Framework in software development for testing embedded systems in elevators and escalators.",imgName:"Kone.svg"}]},gettingStarted:{title:"Getting Started",body:"Robot Framework is a generic open source automation framework.\n It can be used for test automation and robotic process automation (RPA).

\n\n Robot Framework is actively supported, with many industry-leading companies using it in their software development.

\n\n Robot Framework is open and extensible and can be integrated with virtually any other tool to create powerful and flexible automation solutions.\n Being open source also means that Robot Framework is free to use without licensing costs.\n Robot Framework has easy syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries implemented with Python or Java.\n The framework has a rich ecosystem around it, consisting of libraries and tools that are developed as separate projects.

\n\n Robot Framework project is hosted on GitHub where you can find further documentation, source code, and issue tracker. Downloads are hosted at PyPI.\n\n Robot Framework is operating system and application independent.\n The core framework is implemented using Python and also runs on Jython (JVM) and IronPython (.NET).

\n\n Robot Framework itself is open source software released under Apache License 2.0, and most of the libraries and tools in the ecosystem are also open source.\n The framework was initially developed at Nokia Networks and was open sourced in 2008."}}},mi=function(){return{langName:"Português",newsBanner:'🎉 RF 4.0 is out! Click here for release notes',navbar:{items:["Introduction","Getting started","Community","Resources"],dropdownName:"Links",dropdown:[{name:"Github",url:"https://github.com/robotframework/robotframework",description:"Source code + issues"},{name:"Forum",url:"http://forum.robotframework.org/",description:"Discuss Robot Framework"},{name:"Foundation",url:"https://robotframework.org/foundation/",description:"Support the development"},{name:"Robocon",url:"https://robocon.io/",description:"Annual conference"},{name:"Shop",url:"https://reddyshop.co/robotframework/",description:"Support the development"},{name:"RPA",url:"https://robotframework.org/rpa/",description:"RPA stuff"}]},introduction:{title:"Introduction",body:"Robot Framework is a generic open source automation framework.\n It can be used for test automation and robotic process automation (RPA).

\n\n Robot Framework is actively supported, with many industry-leading companies using\n it in their software development.

\n\n Robot Framework is open and extensible and can be integrated with virtually any\n other tool to create powerful and flexible automation solutions. Being open source\n also means that Robot Framework is free to use without licensing costs. Robot Framework\n has easy syntax, utilizing human-readable keywords. Its capabilities can be extended\n by libraries implemented with Python or Java. The framework has a rich ecosystem\n around it, consisting of libraries and tools that are developed as separate projects.",companies:[{name:"ABB",description:"ABB is using Robot Framework in software development for testing distribution automation related configuration tools, web interfaces and embedded devices.",imgName:"ABB.svg"},{name:"Cisco",description:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise.",imgName:"Cisco.svg"},{name:"Condé Nast",description:'Condé Nast transformed their quality assurance for their brand sites, such as Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.',imgName:"Condé_Nast.svg"},{name:"KONE",description:"KONE is widely using Robot Framework in software development for testing embedded systems in elevators and escalators.",imgName:"Kone.svg"}]},gettingStarted:{title:"Getting Started",body:"Robot Framework is open and extensible and can be integrated with virtually any other\n tool to create powerful and flexible automation solutions. Being open source also means\n that Robot Framework is free to use without licensing costs. Robot Framework has easy\n syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries\n implemented with Python or Java."},community:{title:"Community",body:"Robot Framework has a vibrant community around it with various online forums, annual\n RoboCon conference, and meetup groups around the world."},resources:{title:"Resources",body:"If you want to add your library here, make a PR.",tabs:[{name:"Libraries",key:"libraries",description:"Libraries provide the actual automation and testing capabilities to\n Robot Framework by providing keywords. Several standard libraries are bundled with\n the framework, and there are separately developed external libraries galore that\n can be installed based on your needs. Creating your own libraries is a breeze."},{name:"Tools",key:"tools",description:"Supporting tools ease automation: editing, running, building and so on.\n Most of these tools are developed as separate projects, but some are built into the framework itself."},{name:"Learning",key:"learning",description:"Want to get started? Looking for a way to do things? Here are the most\n important documentation resources needed to work with Robot Framework. Notice that\n individual libraries and tools in the ecosystem have their own documentation that\n is typically accessed via their project pages."}]}}},ui=function(){return{langName:"Français",newsBanner:'🎉 RF 4.0 is out! Click here for release notes',navbar:{items:["Introduction","Getting started","Community","Resources"],dropdownName:"Links",dropdown:[{name:"Github",url:"https://github.com/robotframework/robotframework",description:"Source code + issues"},{name:"Forum",url:"http://forum.robotframework.org/",description:"Discuss Robot Framework"},{name:"Foundation",url:"https://robotframework.org/foundation/",description:"Support the development"},{name:"Robocon",url:"https://robocon.io/",description:"Annual conference"},{name:"Shop",url:"https://reddyshop.co/robotframework/",description:"Support the development"},{name:"RPA",url:"https://robotframework.org/rpa/",description:"RPA stuff"}]},introduction:{title:"Introduction",body:"Robot Framework is a generic open source automation framework.\n It can be used for test automation and robotic process automation (RPA).

\n\n Robot Framework is actively supported, with many industry-leading companies using\n it in their software development.

\n\n Robot Framework is open and extensible and can be integrated with virtually any\n other tool to create powerful and flexible automation solutions. Being open source\n also means that Robot Framework is free to use without licensing costs. Robot Framework\n has easy syntax, utilizing human-readable keywords. Its capabilities can be extended\n by libraries implemented with Python or Java. The framework has a rich ecosystem\n around it, consisting of libraries and tools that are developed as separate projects.",companies:[{name:"ABB",description:"ABB is using Robot Framework in software development for testing distribution automation related configuration tools, web interfaces and embedded devices.",imgName:"ABB.svg"},{name:"Cisco",description:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise.",imgName:"Cisco.svg"},{name:"Condé Nast",description:'Condé Nast transformed their quality assurance for their brand sites, such as Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.',imgName:"Condé_Nast.svg"},{name:"KONE",description:"KONE is widely using Robot Framework in software development for testing embedded systems in elevators and escalators.",imgName:"Kone.svg"}]},gettingStarted:{title:"Getting Started",body:"Robot Framework is open and extensible and can be integrated with virtually any other\n tool to create powerful and flexible automation solutions. Being open source also means\n that Robot Framework is free to use without licensing costs. Robot Framework has easy\n syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries\n implemented with Python or Java."},community:{title:"Community",body:"Robot Framework has a vibrant community around it with various online forums, annual\n RoboCon conference, and meetup groups around the world."},resources:{title:"Resources",body:"If you want to add your library here, make a PR.",tabs:[{name:"Libraries",key:"libraries",description:"Libraries provide the actual automation and testing capabilities to\n Robot Framework by providing keywords. Several standard libraries are bundled with\n the framework, and there are separately developed external libraries galore that\n can be installed based on your needs. Creating your own libraries is a breeze."},{name:"Tools",key:"tools",description:"Supporting tools ease automation: editing, running, building and so on.\n Most of these tools are developed as separate projects, but some are built into the framework itself."},{name:"Learning",key:"learning",description:"Want to get started? Looking for a way to do things? Here are the most\n important documentation resources needed to work with Robot Framework. Notice that\n individual libraries and tools in the ecosystem have their own documentation that\n is typically accessed via their project pages."}]}}},pi=function(){return{langName:"русский",newsBanner:'🎉 RF 4.0 is out! Click here for release notes',navbar:{items:["Introduction","Getting started","Community","Resources"],dropdownName:"Links",dropdown:[{name:"Github",url:"https://github.com/robotframework/robotframework",description:"Source code + issues"},{name:"Forum",url:"http://forum.robotframework.org/",description:"Discuss Robot Framework"},{name:"Foundation",url:"https://robotframework.org/foundation/",description:"Support the development"},{name:"Robocon",url:"https://robocon.io/",description:"Annual conference"},{name:"Shop",url:"https://reddyshop.co/robotframework/",description:"Support the development"},{name:"RPA",url:"https://robotframework.org/rpa/",description:"RPA stuff"}]},introduction:{title:"Introduction",body:"Robot Framework is a generic open source automation framework.\n It can be used for test automation and robotic process automation (RPA).

\n\n Robot Framework is actively supported, with many industry-leading companies using\n it in their software development.

\n\n Robot Framework is open and extensible and can be integrated with virtually any\n other tool to create powerful and flexible automation solutions. Being open source\n also means that Robot Framework is free to use without licensing costs. Robot Framework\n has easy syntax, utilizing human-readable keywords. Its capabilities can be extended\n by libraries implemented with Python or Java. The framework has a rich ecosystem\n around it, consisting of libraries and tools that are developed as separate projects.",companies:[{name:"ABB",description:"ABB is using Robot Framework in software development for testing distribution automation related configuration tools, web interfaces and embedded devices.",imgName:"ABB.svg"},{name:"Cisco",description:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise.",imgName:"Cisco.svg"},{name:"Condé Nast",description:'Condé Nast transformed their quality assurance for their brand sites, such as Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.',imgName:"Condé_Nast.svg"},{name:"KONE",description:"KONE is widely using Robot Framework in software development for testing embedded systems in elevators and escalators.",imgName:"Kone.svg"}]},gettingStarted:{title:"Getting Started",body:"Robot Framework is open and extensible and can be integrated with virtually any other\n tool to create powerful and flexible automation solutions. Being open source also means\n that Robot Framework is free to use without licensing costs. Robot Framework has easy\n syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries\n implemented with Python or Java."},community:{title:"Community",body:"Robot Framework has a vibrant community around it with various online forums, annual\n RoboCon conference, and meetup groups around the world."},resources:{title:"Resources",body:"If you want to add your library here, make a PR.",tabs:[{name:"Libraries",key:"libraries",description:"Libraries provide the actual automation and testing capabilities to\n Robot Framework by providing keywords. Several standard libraries are bundled with\n the framework, and there are separately developed external libraries galore that\n can be installed based on your needs. Creating your own libraries is a breeze."},{name:"Tools",key:"tools",description:"Supporting tools ease automation: editing, running, building and so on.\n Most of these tools are developed as separate projects, but some are built into the framework itself."},{name:"Learning",key:"learning",description:"Want to get started? Looking for a way to do things? Here are the most\n important documentation resources needed to work with Robot Framework. Notice that\n individual libraries and tools in the ecosystem have their own documentation that\n is typically accessed via their project pages."}]}}},hi=function(){return{langName:"Español",newsBanner:'🎉 RF 4.0 is out! Click here for release notes',navbar:{items:["Introduction","Getting started","Community","Resources"],dropdownName:"Links",dropdown:[{name:"Github",url:"https://github.com/robotframework/robotframework",description:"Source code + issues"},{name:"Forum",url:"http://forum.robotframework.org/",description:"Discuss Robot Framework"},{name:"Foundation",url:"https://robotframework.org/foundation/",description:"Support the development"},{name:"Robocon",url:"https://robocon.io/",description:"Annual conference"},{name:"Shop",url:"https://reddyshop.co/robotframework/",description:"Support the development"},{name:"RPA",url:"https://robotframework.org/rpa/",description:"RPA stuff"}]},introduction:{title:"Introduction",body:"Robot Framework is a generic open source automation framework.\n It can be used for test automation and robotic process automation (RPA).

\n\n Robot Framework is actively supported, with many industry-leading companies using\n it in their software development.

\n\n Robot Framework is open and extensible and can be integrated with virtually any\n other tool to create powerful and flexible automation solutions. Being open source\n also means that Robot Framework is free to use without licensing costs. Robot Framework\n has easy syntax, utilizing human-readable keywords. Its capabilities can be extended\n by libraries implemented with Python or Java. The framework has a rich ecosystem\n around it, consisting of libraries and tools that are developed as separate projects.",companies:[{name:"ABB",description:"ABB is using Robot Framework in software development for testing distribution automation related configuration tools, web interfaces and embedded devices.",imgName:"ABB.svg"},{name:"Cisco",description:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise.",imgName:"Cisco.svg"},{name:"Condé Nast",description:'Condé Nast transformed their quality assurance for their brand sites, such as Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.',imgName:"Condé_Nast.svg"},{name:"KONE",description:"KONE is widely using Robot Framework in software development for testing embedded systems in elevators and escalators.",imgName:"Kone.svg"}]},gettingStarted:{title:"Getting Started",body:"Robot Framework is open and extensible and can be integrated with virtually any other\n tool to create powerful and flexible automation solutions. Being open source also means\n that Robot Framework is free to use without licensing costs. Robot Framework has easy\n syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries\n implemented with Python or Java."},community:{title:"Community",body:"Robot Framework has a vibrant community around it with various online forums, annual\n RoboCon conference, and meetup groups around the world."},resources:{title:"Resources",body:"If you want to add your library here, make a PR.",tabs:[{name:"Libraries",key:"libraries",description:"Libraries provide the actual automation and testing capabilities to\n Robot Framework by providing keywords. Several standard libraries are bundled with\n the framework, and there are separately developed external libraries galore that\n can be installed based on your needs. Creating your own libraries is a breeze."},{name:"Tools",key:"tools",description:"Supporting tools ease automation: editing, running, building and so on.\n Most of these tools are developed as separate projects, but some are built into the framework itself."},{name:"Learning",key:"learning",description:"Want to get started? Looking for a way to do things? Here are the most\n important documentation resources needed to work with Robot Framework. Notice that\n individual libraries and tools in the ecosystem have their own documentation that\n is typically accessed via their project pages."}]}}},bi=function(){return{langName:"中国人",newsBanner:'🎉 RF 4.0 is out! Click here for release notes',navbar:{items:["Introduction","Getting started","Community","Resources"],dropdownName:"Links",dropdown:[{name:"Github",url:"https://github.com/robotframework/robotframework",description:"Source code + issues"},{name:"Forum",url:"http://forum.robotframework.org/",description:"Discuss Robot Framework"},{name:"Foundation",url:"https://robotframework.org/foundation/",description:"Support the development"},{name:"Robocon",url:"https://robocon.io/",description:"Annual conference"},{name:"Shop",url:"https://reddyshop.co/robotframework/",description:"Support the development"},{name:"RPA",url:"https://robotframework.org/rpa/",description:"RPA stuff"}]},introduction:{title:"Introduction",body:"Robot Framework is a generic open source automation framework.\n It can be used for test automation and robotic process automation (RPA).

\n\n Robot Framework is actively supported, with many industry-leading companies using\n it in their software development.

\n\n Robot Framework is open and extensible and can be integrated with virtually any\n other tool to create powerful and flexible automation solutions. Being open source\n also means that Robot Framework is free to use without licensing costs. Robot Framework\n has easy syntax, utilizing human-readable keywords. Its capabilities can be extended\n by libraries implemented with Python or Java. The framework has a rich ecosystem\n around it, consisting of libraries and tools that are developed as separate projects.",companies:[{name:"ABB",description:"ABB is using Robot Framework in software development for testing distribution automation related configuration tools, web interfaces and embedded devices.",imgName:"ABB.svg"},{name:"Cisco",description:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise.",imgName:"Cisco.svg"},{name:"Condé Nast",description:'Condé Nast transformed their quality assurance for their brand sites, such as Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.',imgName:"Condé_Nast.svg"},{name:"KONE",description:"KONE is widely using Robot Framework in software development for testing embedded systems in elevators and escalators.",imgName:"Kone.svg"}]},gettingStarted:{title:"Getting Started",body:"Robot Framework is open and extensible and can be integrated with virtually any other\n tool to create powerful and flexible automation solutions. Being open source also means\n that Robot Framework is free to use without licensing costs. Robot Framework has easy\n syntax, utilizing human-readable keywords. Its capabilities can be extended by libraries\n implemented with Python or Java."},community:{title:"Community",body:"Robot Framework has a vibrant community around it with various online forums, annual\n RoboCon conference, and meetup groups around the world."},resources:{title:"Resources",body:"If you want to add your library here, make a PR.",tabs:[{name:"Libraries",key:"libraries",description:"Libraries provide the actual automation and testing capabilities to\n Robot Framework by providing keywords. Several standard libraries are bundled with\n the framework, and there are separately developed external libraries galore that\n can be installed based on your needs. Creating your own libraries is a breeze."},{name:"Tools",key:"tools",description:"Supporting tools ease automation: editing, running, building and so on.\n Most of these tools are developed as separate projects, but some are built into the framework itself."},{name:"Learning",key:"learning",description:"Want to get started? Looking for a way to do things? Here are the most\n important documentation resources needed to work with Robot Framework. Notice that\n individual libraries and tools in the ecosystem have their own documentation that\n is typically accessed via their project pages."}]}}},gi=function(){return{langName:"translation",newsBanner:"crwdns525:0crwdne525:0",navbar:{items:["crwdns527:0crwdne527:0","crwdns529:0crwdne529:0","crwdns531:0crwdne531:0","crwdns533:0crwdne533:0"],dropdownName:"crwdns535:0crwdne535:0",dropdown:[{name:"crwdns537:0crwdne537:0",url:"crwdns539:0crwdne539:0",description:"crwdns541:0crwdne541:0"},{name:"crwdns543:0crwdne543:0",url:"crwdns545:0crwdne545:0",description:"crwdns547:0crwdne547:0"},{name:"crwdns549:0crwdne549:0",url:"crwdns551:0crwdne551:0",description:"crwdns553:0crwdne553:0"},{name:"crwdns555:0crwdne555:0",url:"crwdns557:0crwdne557:0",description:"crwdns559:0crwdne559:0"},{name:"crwdns561:0crwdne561:0",url:"crwdns563:0crwdne563:0",description:"crwdns565:0crwdne565:0"},{name:"crwdns567:0crwdne567:0",url:"crwdns569:0crwdne569:0",description:"crwdns571:0crwdne571:0"}]},introduction:{title:"crwdns573:0crwdne573:0",body:"crwdns575:0crwdne575:0",companies:[{name:"crwdns577:0crwdne577:0",description:"crwdns579:0crwdne579:0",imgName:"crwdns581:0crwdne581:0"},{name:"crwdns583:0crwdne583:0",description:"crwdns585:0crwdne585:0",imgName:"crwdns587:0crwdne587:0"},{name:"crwdns589:0crwdne589:0",description:"crwdns591:0crwdne591:0",imgName:"crwdns593:0crwdne593:0"},{name:"crwdns595:0crwdne595:0",description:"crwdns597:0crwdne597:0",imgName:"crwdns599:0crwdne599:0"}]},gettingStarted:{title:"crwdns601:0crwdne601:0",body:"crwdns603:0crwdne603:0"},community:{title:"crwdns605:0crwdne605:0",body:"crwdns607:0crwdne607:0"},resources:{title:"crwdns609:0crwdne609:0",body:"crwdns611:0crwdne611:0",tabs:[{name:"crwdns613:0crwdne613:0",key:"crwdns615:0crwdne615:0",description:"crwdns617:0crwdne617:0"},{name:"crwdns619:0crwdne619:0",key:"crwdns621:0crwdne621:0",description:"crwdns623:0crwdne623:0"},{name:"crwdns625:0crwdne625:0",key:"crwdns627:0crwdne627:0",description:"crwdns629:0crwdne629:0"}]}}},_i=function(){return[{name:"Builtin",href:"https://robotframework.org/robotframework/latest/libraries/BuiltIn.html",description:"Provides a set of often needed generic keywords. Always automatically available without imports.",tags:["library"]},{name:"Collections",href:"https://robotframework.org/robotframework/latest/libraries/Collections.html",description:"Provides a set of keywords for handling Python lists and dictionaries.",tags:["library"]},{name:"DateTime",href:"https://robotframework.org/robotframework/latest/libraries/DateTime.html",description:"Library for date and time conversions.",tags:["library"]},{name:"Dialogs",href:"https://robotframework.org/robotframework/latest/libraries/Dialogs.html",description:"Provides means for pausing the execution and getting input from users.",tags:["library"]},{name:"OperatingSystem",href:"https://robotframework.org/robotframework/latest/libraries/OperatingSystem.html",description:"Enables various operating system related tasks to be performed in the system where Robot Framework is running.",tags:["library"]},{name:"Process",href:"https://robotframework.org/robotframework/latest/libraries/Process.html",description:"Library for running processes in the system.",tags:["library"]},{name:"Remote",href:"https://github.com/robotframework/RemoteInterface",description:"Special library acting as a proxy between Robot Framework and libraries elsewhere. Actual libraries can be running on different machines and be implemented using any programming language supporting XML-RPC protocol.",tags:["library"]},{name:"Screenshot",href:"https://robotframework.org/robotframework/latest/libraries/Screenshot.html",description:"Provides keywords to capture screenshots of the desktop.",tags:["library"]},{name:"String",href:"https://robotframework.org/robotframework/latest/libraries/String.html",description:"Library for generating, modifying and verifying strings.",tags:["library"]},{name:"Telnet",href:"https://robotframework.org/robotframework/latest/libraries/Telnet.html",description:"Makes it possible to connect to Telnet servers and execute commands on the opened connections.",tags:["library"]},{name:"XML",href:"https://robotframework.org/robotframework/latest/libraries/XML.html",description:"Library for generating, modifying and verifying XML files.",tags:["library"]},{name:"Rebot",description:"Generate logs and reports based on XML outputs and for combining multiple outputs together.",href:"https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#post-processing-outputs",tags:["tool"]},{name:"Libdoc",description:"Generate keyword documentation for test libraries and resource files.",href:"https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#libdoc",tags:["tool"]},{name:"Testdoc",description:"Generate high level HTML documentation based on Robot Framework test cases.",href:"https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#testdoc",tags:["tool"]},{name:"Tidy",description:"Cleaning up and changing format of Robot Framework test data files.",href:"https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#tidy",tags:["tool"]}]},fi=function(){return[{name:"AppiumLibrary",href:"https://github.com/serhatbolsu/robotframework-appiumlibrary",description:"Android and iOS testing. Uses Appium internally.",tags:["mobile"]},{name:"ArchiveLibrary",href:"https://github.com/MarketSquare/robotframework-archivelibrary",description:"Handling zip- and tar-archives.",tags:["zip"]},{name:"AutoItLibrary",href:"https://github.com/nokia/robotframework-autoitlibrary",description:"Windows GUI testing library that uses AutoIt freeware tool as a driver.",tags:["windows","ui"]},{name:"AutoRecorder",href:"https://github.com/sebastianciupinski/robotframework-autorecorder#readme",description:"Allows automatically recording video for test/suites execution.",tags:["visual"]},{name:"Browser Library",href:"https://github.com/MarketSquare/robotframework-browser",description:'A modern web testing library powered by Playwright. Aiming for speed, reliability and visibility.',tags:["web"]},{name:"CncLibrary",href:"https://github.com/eficode/robotframework-cnclibrary",description:"Driving a CNC milling machine.",tags:["rpa"]},{name:"ConfluentKafkaLibrary",href:"https://github.com/robooo/robotframework-ConfluentKafkaLibrary",description:"Python confluent kafka."},{name:"CURFLibrary",href:"https://github.com/Openwide-Ingenierie/robotframework-can-uds-library",description:"Testing CAN bus with support for ISO-TP and UDS."},{name:"Database Library (Java)",href:"https://github.com/MarketSquare/robotframework-dblibrary",description:'Java-based library for database testing. Usable with Jython. Available also at Maven central.',tags:["java"]},{name:"Database Library (Python)",href:"https://github.com/MarketSquare/Robotframework-Database-Library",description:"Python based library for database testing. Works with any Python interpreter, including Jython.",tags:["db"]},{name:"DataDriver Library",href:"https://github.com/Snooz82/robotframework-datadriver",description:"Data-Driven Testing with external 📤 data tables (csv, xls, xlsx, etc.). 🧬 Pairwise Combinatorial Testing support.",tags:["db"]},{name:"Debug Library",href:"https://github.com/xyb/robotframework-debuglibrary",description:"A debug library for RobotFramework, which can be used as an interactive shell(REPL) also."},{name:"Dependency Library",href:"https://github.com/mentalisttraceur/robotframework-dependencylibrary",description:"Declare dependencies between tests. Ideally tests are independent, but when tests depend on earlier tests, DependencyLibrary makes it easy to explicitly declare these dependencies and have tests that depend on each other do the right thing."},{name:"Diff Library",href:"https://github.com/MarketSquare/robotframework-difflibrary",description:"Diff two files together."},{name:"Django Library",href:"https://github.com/kitconcept/robotframework-djangolibrary",description:'Library for Django, a Python web framework.',tags:["django"]},{name:"DocTest Library",href:"https://github.com/manykarim/robotframework-doctestlibrary",description:"Library for Document Testing, offers visual/content comparisons and masks for images, PDFs and more.",tags:["pdf","visual"]},{name:"DoesIsLibrary",href:"https://github.com/sebastianciupinski/robotframework-doesislibrary#readme",description:"Autogenerated keywords like Is Something, Does Someting created form assertion keywords like Should Be, Should Not Be, etc"},{name:"Eclipse Library",href:"https://github.com/lcarbonn/robotframework-eclipselibrary/",description:"Testing Eclipse RCP applications using SWT widgets."},{name:"FTP library",href:"https://github.com/kowalpy/Robot-Framework-FTP-Library",description:"Testing and using FTP server with Robot Framework.",tags:["ftp"]},{name:"HTTP RequestsLibrary (Python)",href:"https://github.com/MarketSquare/robotframework-requests#readme",description:"HTTP level testing using Python Requests internally.",tags:["http"]},{name:"HttpRequestLibrary (Java)",href:"https://github.com/MarketSquare/robotframework-httprequestlibrary",description:'HTTP level testing using Apache HTTP client. Available also at Maven central.',tags:["http","java"]},{name:"ImageHorizonLibrary",href:"https://github.com/eficode/robotframework-imagehorizonlibrary#readme",description:"Cross-platform, pure Python library for GUI automation based on image recognition.",tags:["ui","visual"]},{name:"JavaFXLibrary",href:"https://github.com/eficode/JavaFXLibrary#readme",description:'Testing JavaFX applications, based on TestFX. Has also remote interface support.',tags:["java"]},{name:"KiCadLibrary",href:"https://github.com/madworx/robotframework-kicadlibrary#readme",description:"Interacting with KiCad EDA designs."},{name:"ListenerLibrary",href:"https://github.com/sebastianciupinski/robotframework-listenerlibrary#readme",description:"Register keywords to run before/after other keywords and suites."},{name:"Mainframe3270 Library",href:"https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library/blob/master/README.md",description:"Allows the creation of automated test scripts to test IBM Mainframe 3270.",tags:["ibm"]},{name:"MQTT library",href:"https://github.com/randomsync/robotframework-mqttlibrary#readme",description:"Testing MQTT brokers and applications.",tags:["iot"]},{name:"OracleDBLibrary",href:"https://github.com/adeliogullari/robotframework-oracledb-library",description:"A database testing library for Robot Framework that utilizes the python-oracledb tool internally.",tags:["db","oracle","oracledb"]},{name:"PuppeteerLibrary",href:"https://github.com/qahive/robotframework-puppeteer",description:"Web testing using Puppeteer tool internally.",tags:["web","ui"]},{name:"Qweb",href:"https://github.com/qentinelqi/qweb",description:"A modern web testing library focusing on making web testing and automation Easy 🎉 and maintainable 🧹 with its high level keyword design.",tags:["web","ui"]},{name:"Rammbock",href:"https://github.com/robotframework/Rammbock#readme",description:"Generic network protocol test library that offers easy way to specify network packets and inspect the results of sent and received packets.",tags:["http"]},{name:"RemoteSwingLibrary",href:"https://github.com/robotframework/remoteswinglibrary",description:"Testing and connecting to a java process and using SwingLibrary, especially Java Web Start applications.",tags:["java"]},{name:"RESTinstance",href:"https://github.com/asyrjasalo/RESTinstance/",description:"Test library for HTTP JSON APIs.",tags:["http"]},{name:"Robotframework-faker",href:"https://github.com/MarketSquare/robotframework-faker",description:'Library for Faker, a fake test data generator.'},{name:"Robotframework-FlaUI",href:"https://github.com/GDATASoftwareAG/robotframework-flaui",description:"Robotframework-FlaUI is a keyword based user interface automation testing library for Windows applications like Win32, WinForms, WPF or Store Apps. It's based on the FlaUI user interface automation library.",tags:["windows","ui"]},{name:"Robotframework-MailClientLibrary",href:"https://github.com/noubar/RobotFramework-MailClientLibrary",description:"The Robotframework-MailClientLibrary is a keyword-based mail client library that supports testing of mail protocols, including IMAP, POP3, and SMTP with or without SSL connection.",tags:["mail","imap","smtp","pop3","ssl"]},{name:"SapGuiLibrary",href:"https://github.com/frankvanderkuur/robotframework-sapguilibrary/",description:"Testing the SAPGUI client using the internal SAP Scripting Engine",tags:["ui","sap"]},{name:"RoboSAPiens",href:"https://github.com/imbus/robotframework-robosapiens",description:'RoboSAPiens is a library for automating the Windows SAP GUI. Its key innovation (compared to SapGuiLibrary) is that UI elements can be selected using the texts in the GUI. No need to use a third-party tool to find some XPath-like selectors. Moreover, RoboSAPiens is under active development.',tags:["ui","sap"]},{name:"ScreenCapLibrary",href:"https://github.com/rticau/ScreenCapLibrary",description:"Taking screenshots and video recording. Similar functionality as Screenshot standard library, with some additional features.",tags:["ui"]},{name:"SeleniumScreenshots",href:"https://github.com/MarketSquare/robotframework-seleniumscreenshots",description:"Annotating and cropping screenshots taken with SeleniumLibrary.",tags:["ui","selenium"]},{name:"SeleniumLibrary",href:"https://github.com/robotframework/SeleniumLibrary/",description:"Web testing library that uses popular Selenium tool internally.",tags:["web","selenium"]},{name:"SeleniumLibrary for Java",href:"https://github.com/MarketSquare/robotframework-seleniumlibrary-java#readme",description:"Java port of the SeleniumLibrary.",tags:["java","selenium"]},{name:"SikuliLibrary",href:"https://github.com/rainmanwy/robotframework-SikuliLibrary#readme",description:'Provides keywords to test UI through Sikulix. This library supports Python 2.x and 3.x.',tags:["ui"]},{name:"SoapLibrary",href:"https://github.com/Altran-PT-GDC/Robot-Framework-SOAP-Library",description:"Designed for those who want to work with webservice automation as if they were using SoapUI, make a request through an XML file, and receive the response in another XML file.",tags:["http"]},{name:"SSHLibrary",href:"https://github.com/robotframework/SSHLibrary",description:"Enables executing commands on remote machines over an SSH connection. Also supports transfering files using SFTP.",tags:["ftp","ssh"]},{name:"SwingLibrary",href:"https://github.com/robotframework/SwingLibrary/wiki",description:"Testing Java applications with Swing GUI.",tags:["java","ui"]},{name:"TestFX Library",href:"https://github.com/Altran-PT-GDC/Robot-Framework-Test-FX-Library",description:'Enables testing Java FX applications using the TestFX framework. Has also remote interface support. Maintained Fork...',tags:["java"]},{name:"TFTPLibrary",href:"https://github.com/kowalpy/Robot-Framework-TFTP-Library",description:'Interact over Trivial File Transfer Portocol.',tags:["ftp"]},{name:"WADLibrary",href:"https://github.com/Adwisit/WADLibrary",description:"Application testing library that utilizes Win App Driver.",tags:["windows"]},{name:"Zoomba Library",href:"https://github.com/Accruent/robotframework-zoomba",description:"Extends features in many popular tools for GUI, Rest API, Soap API, Mobile, and Windows (WinAppDriver) automation. An ideal all-in-one toolkit for new or existing Robot Framework projects.",tags:["ui","http"]},{name:"Python Library Core",href:"https://github.com/robotframework/PythonLibCore",description:"Tools to ease creating larger test libraries for Robot Framework using Python.",tags:["tools"]},{name:"JavalibCore",href:"https://github.com/robotframework/JavalibCore/wiki",description:"Base for implementing larger Java based test libraries for Robot Framework.",tags:["java"]},{name:"RemoteApplications",href:"https://github.com/robotframework/RemoteApplications",description:"Special test library for launching Java applications on a separate JVM and taking other libraries into use on them.",tags:["java"]},{name:"Plone.app .robotframework",href:"https://github.com/plone/plone.app.robotframework/",description:"Provides resources and tools for writing functional Selenium tests for Plone CMS and its add-ons.",tags:["selenium"]},{name:"WatchUI",href:"https://github.com/Tesena-smart-testing/WatchUI",description:"Visual testing library for visual difference testing as well as image content testing (including PDF documents). Runs on Selenium to generate screenshots, uses PyMuPDF to process PDFs and Tesseract OCR to recognize text.",tags:["ui"]}]},wi=function(){return[{name:"RIDE",description:"Standalone Robot Framework test data editor.",href:"https://github.com/robotframework/RIDE/wiki",tags:["editor"]},{name:"Atom plugin",description:"Robot Framework plugin for Atom.",href:"https://github.com/wingyplus/language-robot-framework",tags:["editor"]},{name:"Brackets plugin",description:"Robot Framework plugin for Brackets.",href:"https://github.com/boakley/brackets-robotframework/wiki",tags:["editor"]},{name:"RobotCode",description:"RobotFramework support for Visual Studio Code, including features like code completion, navigation, refactoring, usage analysis, debugging, test explorer, test execution and more!",href:"https://github.com/d-biehl/robotcode",tags:["editor","vscode"]},{name:"Emacs major mode",description:"Emacs major mode for editing tests.",href:"https://github.com/sakari/robot-mode",tags:["editor"]},{name:"Gedit",description:"Syntax highlighting for Gedit.",href:"https://github.com/vkosuri/gedit-robot",tags:["editor"]},{name:"Robot Plugin for IntelliJ IDEA",description:"For IntelliJ IDEA-based editors by JIVE Software.",href:"https://plugins.jetbrains.com/plugin/7430",tags:["editor"]},{name:"Robot Support for IntelliJ IDEA",description:"For IntelliJ IDEA-based editors by Valerio Angelini.",href:"https://plugins.jetbrains.com/plugin/7415",tags:["editor"]},{name:"Notepad++",description:"Syntax highlighting for Notepad++.",href:"https://github.com/vkosuri/npp-robot",tags:["editor"]},{name:"RED",description:"Eclipse based editor with a debugger by Nokia.",href:"https://github.com/nokia/RED",tags:["editor"]},{name:"Language Server for PyCharm",description:"PyCharm LSP plugin - syntax highlight, code completion, and other LSP features for PyCharm.",href:"https://plugins.jetbrains.com/plugin/16086-robot-framework-language-server",tags:["editor"]},{name:"Sublime assistant",description:"A plugin for Sublime Text 2 & 3 by Andriy Hrytskiv.",href:"https://github.com/andriyko/sublime-robot-framework-assistant",tags:["editor"]},{name:"Sublime plugin",description:"A plugin for Sublime Text 2 by Mike Gershunovsky.",href:"https://github.com/shellderp/sublime-robot-plugin",tags:["editor"]},{name:"Vim plugin",description:"Vim plugin for development with Robot Framework.",href:"https://github.com/mfukar/robotframework-vim",tags:["editor"]},{name:"Intellisense for Visual Studio Code",description:"A Visual Studio Code extension that supports Robot Framework development.",href:"https://marketplace.visualstudio.com/items?itemName=TomiTurtiainen.rf-intellisense",tags:["editor"]},{name:"Debugger for Visual Studio Code",description:"A Visual Studio Code extension that lets you debug robot files with call stack, breakpoints, etc.",href:"https://marketplace.visualstudio.com/items?itemName=JacobPhilip.danfoss-robotframework-debug",tags:["editor"]},{name:"Jenkins plugin",description:"Plugin to collect and publish Robot Framework execution results in Jenkins.",href:"https://github.com/jenkinsci/robot-plugin",tags:["build"]},{name:"Maven plugin",description:"Maven plugin for using Robot Framework.",href:"https://github.com/robotframework/MavenPlugin",tags:["build"]},{name:"Ant task",description:"Ant task for running Robot Framework tests.",href:"https://github.com/lcarbonn/robotframework-ant",tags:["build"]},{name:"DbBot",description:"Tool for serializing Robot Framework execution results, i.e. output.xml files, into an SQLite database. It serves a good starting point to create your own reporting and analyzing tools.",href:"https://github.com/robotframework/DbBot",tags:[""]},{name:"Distbot",description:"A bot for self distribution of Robot Framework tests into multiple machines/docker and execute in parallel (without need of master node).",href:"https://github.com/rajeevnaikte/distbot",tags:[""]},{name:"Fixml",description:"Tool for fixing Robot Framework output files that are broken.",href:"https://bitbucket.org/robotframework/fixml",tags:[""]},{name:"Mabot",description:"Tool for reporting manual tests in format compatible with Robot Framework outputs.",href:"https://github.com/robotframework/mabot/",tags:[""]},{name:"Oxygen",description:"Tool for consolidating other test tools' reporting to Robot Framework outputs.",href:"https://github.com/eficode/robotframework-oxygen",tags:[""]},{name:"Pabot",description:"A parallel executor for Robot Framework tests and tasks.",href:"https://github.com/mkorpela/pabot",tags:[""]},{name:"RCC",description:"Share your Robot projects with ease. RCC allows you to create, manage, and distribute Python-based self-contained automation packages.",href:"https://github.com/robocorp/rcc",tags:[""]},{name:"RFDoc",description:"Web based system for storing and searching Robot Framework library and resource file documentations.",href:"https://github.com/robotframework/rfdoc",tags:[""]},{name:"rfswarm",description:"Testing tool that allows you to use Robot Framework test cases for performance or load testing.",href:"https://github.com/damies13/rfswarm",tags:[""]},{name:"Robot Corder",description:"Robot Corder generates Robot Framework test script by recording user interactions and scanning the html page in your Chrome browser. It aims to be equivalent of Selenium IDE for RobotFramework browser test automation.",href:"https://github.com/sohwendy/Robotcorder",tags:[""]},{name:"Robot Framework Hub",description:"Lightweight web server that provides access to the Robot Framework test assets via browser.",href:"https://github.com/boakley/robotframework-hub/wiki",tags:[""]},{name:"Robot Framework Lexer",description:"Robot Framework syntax highlighting with Pygments. Link is to the lexer project itself, but the lexer is part of Pygments from version 1.6 onwards.",href:"https://bitbucket.org/robotframework/pygmentslexer",tags:["editor"]},{name:"Robot Tools",description:"Collection of supporting tools that can be used with Robot Framework.",href:"https://bitbucket.org/robotframework/robottools",tags:[""]},{name:"Robocop linter",description:"Static code analysis tool for Robot Framework with use of latest robot API and many built-in rules that can be easily configured or switched off.",href:"https://github.com/MarketSquare/robotframework-robocop",tags:[""]},{name:"Robotmk",description:'With Robotmk, arbitrary Robot Framework tests can be seamlessly integrated into the Checkmk monitoring tool. In addition to server and network metrics, Checkmk administrators also get worthful insights about on how well business applications are performing from the users point of view ("End-2-End Monitoring"). Robotmk can flexibly monitor and graph the runtimes of tests and keywords, and also alert when related SLAs are violated.',href:"https://github.com/elabit/robotmk/",tags:[""]},{name:"SAGE Framework",description:"Multi-agent based extension to Robot Framework. Agent based systems make it possible to test distributed systems such as Service Oriented Architecture systems. SAGE Provides a library of Robot Framework keywords for creating and managing SAGE agent networks as well as collecting and reporting results from remote agents.",href:"https://www.nrl.navy.mil/itd/imda/products/sage",tags:[""]},{name:"StatusChecker",description:"A tool for validation that executed Robot Framework test cases have expected statuses and log messages. Mainly targeted for test library developers.",href:"https://github.com/robotframework/statuschecker/",tags:[""]},{name:"Test Assistant",description:"Control test processes and RPA tasks with your voice or with a text message sent directly to the assistant through leon-ai's UI..",href:"https://github.com/jg8481/leon/tree/develop/packages/robotframework-test-assistant",tags:[""]},{name:"TestDataTable",description:"Enables you to assign test data variable values from a single set of data to multiple scripts while allowing you to ensure each script has a unique data value.",href:"https://github.com/damies13/TestDataTable",tags:[""]},{name:"Tesults Listener",description:"A listener that provides a codeless integration experience for test results reporting from Robot Framework into Tesults.",href:"https://www.tesults.com/docs?doc=robot",tags:[""]},{name:"Xray Test Management",description:"Test management app for Jira that provides the ability to track coverage based on traditional manual test cases, exploratory testing and automation-related results. For automation, users can track detailed results from test scripts implemented with Robot Framework and link them to the respective requirements.",href:"https://www.getxray.app/",tags:[""]}]},yi=function(){return[{name:"Robot Framework Docs",description:"Learn with guides and examples that cover Robot Framework all the way from installation to advanced usage.",href:"https://docs.robotframework.org/"},{name:"User Guide",description:"Reference manual explaining all Robot Framework features in detail.",href:"https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html"},{name:"Public API",description:"Public API for writing your own tools against Robot Framework.",href:"https://robot-framework.readthedocs.org/en/latest/"},{name:"How to write good test cases",description:"Guidelines for writing good test cases using Robot Framework.",href:"https://github.com/robotframework/HowToWriteGoodTestCases/blob/master/HowToWriteGoodTestCases.rst"},{name:"Dos And Don'ts",description:"Slide set loosely based on 'How to write good test cases' guidelines.",href:"https://www.slideshare.net/pekkaklarck/robot-framework-dos-and-donts"},{name:"Introduction Slides",description:"Generic Robot Framework introduction slides.",href:"https://www.slideshare.net/pekkaklarck/robot-framework-introduction"},{name:"Robot Framework katas",description:"Series of exercises and examples how to get started with test automation. No prior knowledge of test automation required.",href:"https://github.com/eficode-academy/rf-katas"},{name:"Web Demo",description:"Demonstrates how to create tests and higher level keywords. The system under test is a simple web page that is tested using SeleniumLibrary.",href:"https://github.com/robotframework/WebDemo"},{name:"Robot Demo",description:"Demonstrates how to create tests and test libraries. The system under test is a simple calculator that is tested using a custom library.",href:"https://github.com/robotframework/RobotDemo"},{name:"Demo: ATDD with Robot Framework",description:"How to use Robot Framework for Acceptance Test Driven Development (ATDD) a.k.a. Specification by Example.",href:"https://code.google.com/p/atdd-with-robot-framework/"},{name:"Demo: Using C with Robot Framework",description:"This simple example demonstrates how to use C language from Robot Framework test libraries.",href:"https://bitbucket.org/robotframework/cdemo"},{name:"Demo: Remote interface",description:'Example demonstrates how to use Robot Framework\'s Remote interface to call test libraries written in any programming language.',href:"https://github.com/jg8481/robotframework-scala-remote-library"}]},ki=function(){return[{title:"ABB",href:"https://www.abb.com",imgName:"abb.png",text:"ABB is using Robot Framework in software development for testing distribution\n automation related configuration tools, web interfaces and embedded devices."},{title:"Accruent",href:"https://www.accruent.com/",imgName:"accruent.png",text:'Accruent has been using Robot Framework since 2015 to drive API, GUI, mobile,\n and desktop automation testing throughout the company. Accruent has since made its\n Zoomba\n library open source to help other teams make the move to Robot Framework.'},{title:"Adwisit",href:"https://www.adwisit.se",imgName:"adwisit.png",text:"Adwisit uses Robot Framework to automate end-to-end testing of business processes\n for customers with a complex structure of third-party products, handling both web and desktop applications."},{title:"Alfastrahovanie",href:"https://www.alfastrah.ru/",imgName:"alfastrahovanie.png",text:"Alfastrahovanie is using Robot Framework as a main regression testing tool for\n SAP FS CM system. Alfastrahovanie is in the beginning of ATDD path and Robot Framework\n is the main vehicle there as well."},{title:"Alpha",href:"https://www.alpha.company/",imgName:"alpha.png",text:"At Alpha, we are developing the future of mobile apps for Health, with the latest\n advances in neuroscience, AI and mobile computing. Robot Framework is a key part of our\n Health Moonshot development process to help us automatize testing and guarantee the best quality."},{title:"Altran",href:"https://www.altran.com/",imgName:"altran.png",text:"Altran is a world leader in engineering solutions and R&D, and is using extensively\n RobotFramework mainly in it's Global Engineering Centers. Altran is also an active contributor\n for the RobotFramework community and is the main developer of several RobotFramework libraries."},{title:"Axon",href:"https://www.axon.tv",imgName:"axon.png",text:"Axon is using Robot Framework in testing embedded software and hardware development\n of broadcast equipment. We automate testing as much as possible in order to speed up development\n while guarantee quality. Robot Framework is the perfect tool for this job."},{title:"CENX",href:"https://www.cenx.com",imgName:"cenx.png",text:"CENX is using Robot Framework, within a Docker environment, for feature and integration\n testing of a product that empowers network- and service operation centers."},{title:"Charter Communications",href:"https://www.spectrum.com/",imgName:"spectrum.png",text:"Charter uses Robot Framework for automating feature and protocol testing on network\n devices like routers and firewalls for device certification, QA and network monitoring."},{title:"Cisco",href:"https://www.cisco.com/",imgName:"cisco.jpg",text:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and\n 3rd party solutions deployed by our customers. This includes Solution Validation Services\n (SVS) delivered both on Cisco-premise and customer-premise as part of a NetDevOps (CI/CD)\n process where continuous validation accelerates technology adoption, de-risks IT deployments,\n changes and upgrades, and ensures complex migrations are transparent."},{title:"Conde Nast",href:"https://technology.condenast.com/",imgName:"condenast.png",text:'Condé Nast transformed their quality assurance for their brand sites, such as\n Brides, Wired and Architectural Digest, from an entirely manual process to automated one with Robot Framework.'},{title:"FICOSA",href:"https://www.ficosa.com",imgName:"ficosa.png",text:'FICOSA has been using Robot Framework for the last years in the automotive industry.\n It\'s being used for the automated testing of\n \n embedded software for in-vehicle telematic units with very good results. We have\n implemented several Robot Framework libraries to control complex hardware environments in an scalable way.'},{title:"Finnair",href:"https://www.finnair.com",imgName:"finnair.png",text:"Finnair is using Robot Framework to support Finnair digital platform development."},{title:"Finnish Tax Administration",href:"https://www.vero.fi/en/individuals/",imgName:"vero.png",text:"Finnish Tax Administration is using Robot Framework in multiple projects.\n Robot Framework is one of the core tools in their development to make Quality Assurance and Automation."},{title:"Flipdish",href:"https://www.flipdish.com/",imgName:"flipdish.png",text:"Flipdish are using Robot Framework for web, mobile and api, to enable us to test\n and release multiple white label products used for online ordering platforms across the globe."},{title:"HeyMath",href:"https://plp.heymath.com/",imgName:"heymath.png",text:"HeyMath! is a comprehensive E-learning program with world-class creative digital content.\n We use Robot Framework for end-to-end automation testing for our Products and ensuring the\n quality before delivering to the end users."},{title:"Juniper Networks",href:"https://www.juniper.net/",imgName:"juniper.png",text:"Juniper Networks has built an extensive automation framework on top of Robot Framework\n for end-to-end qualification of Juniper products to maintain our commitment to quality for our\n customers and users. It is used extensively in multiple groups including engineering and\n support amongst others. We have also worked with third-party test tool vendors to provide\n Robot Framework friendly APIs to integrate with our framework."},{title:"Kistler",href:"https://www.kistler.com",imgName:"kistler.svg",text:'Kistler is using the Robot Framework for automated system tests of backend and frontend\n applications for various, very accurate and highly precise\n measurement systems.'},{title:"KONE",href:"https://www.kone.com",imgName:"kone.png",text:"KONE is widely using Robot Framework in software development for testing embedded\n systems in elevators and escalators."},{title:"Lucid Software",href:"https://www.kovidndt.com/",imgName:"lucid.png",text:"Lucid Software is using Robot Framework for complete system automation testing of\n its NDT software products. Necessary unique libraries are created to test the applications\n in both Windows and WPF formats."},{title:"Metso",href:"https://www.metso.com",imgName:"metso.png",text:'Metso has had good results using Robot Framework in various domains. This includes\n testing embedded software in valve positioners and\n web testing of their Manufacturing\n Resource Planning system.'},{title:"Mews",href:"https://www.mews.com",imgName:"mews.png",text:"Mews builds modern hospitality software. Mews uses Robot Framework\n as part of CI/CD process to ensure system reliability and reduce manual testing efforts\n across multiple products in both browser and desktop apps."},{title:"Nokia",href:"https://www.nokia.com",imgName:"nokia.png",text:"Robot Framework was initially developed at Nokia Networks and it is used extensively\n around the whole company. It is used for testing different devices, software systems and\n protocols via GUIs, APIs and various other interfaces."},{title:"NRL",href:"https://www.nrl.navy.mil",imgName:"nrl.png",text:'The Naval Research Laboratory extends Robot Framework to provide a seamless integration\n with the SAGE\n multi-agent system. This integration enables Robot Framework to drive distributed simulation\n and monitoring for test automation of SOA systems.'},{title:"OpenDaylight",href:"https://www.opendaylight.org",imgName:"opendaylight.png",text:'OpenDaylight is a software-defined network (SDN) platform that uses Robot Framework\n for unit- and integration tests between different services. If you are interested how,\n check the wiki.'},{title:"Opuscapita",href:"https://www.opuscapita.com/",imgName:"opuscapita.png",text:"OpusCapita is using Robot Framework in software development for regression testing\n automation of web applications, API and internal software components."},{title:"Oriental Pearl New Media Co, Ltd",href:"https://www.opg.cn/",imgName:"oriental.png",text:"Oriental Pearl New Media Co, Ltd is using Robot Framework for API and UI testing."},{title:"QA Hive",href:"https://www.qahive.com",imgName:"qahive.png",text:"QA Hive is using Robot Framework for automation tests and automation tasks\n for reduce overall manual process and improve system reliability."},{title:"Rocla",href:"https://rocla.com/",imgName:"rocla.png",text:"Rocla is using Robot Framework widely in development and testing of the\n software for Trucks and Automated Guided Vehicles (AGV’s)."},{title:"RunWhen",href:"https://www.runwhen.com/",imgName:"runwhen.png",text:"RunWhen has built a platform for Social Reliability Engineering that allows \n organizations to collaboratively build and scale their Site Reliability Engineering practices. \n The RunWhen platform uses Robot Framework to power its open source & community-driven \n Service Level Indicator, Service Level Objective, and Task Automation codebundles."},{title:"Toronto Metropolitan University",href:"https://www.torontomu.ca/",imgName:"tmu_logo.png",text:"Toronto Metropolitan University uses Robot Framework to conduct desktop and mobile\n browser testing for its suite of applications that serve both students and staff."},{title:"Salicru",href:"https://www.salicru.com",imgName:"salicru.png",text:'Salicru has been using Robot Framework in testing embedded software and hardware\n development of power electronic equipment since 2011. We use Robot Framework along with\n our proprietary embedded software architecture\n Odyssey\n to assure the quality of our products and it has become one of the most important tools for us.'},{title:"Segron",href:"https://www.segron.com/",imgName:"segron.png",text:"Segron is a Bratislava-based company offering beyond end-to-end testing solution\n for Telecommunications. Our tool is based on Robot Framework and is the first true end-to-end\n solution for testing multiple interfaces and technologies with a single tool."},{title:"Smart Synergies",href:"https://www.smart-synergies.eu/",imgName:"smartsynergies.png",text:'Smart Synergies promotes Robotframework as the "Swiss Army Knife" of Software testing tools in the wide and open seas of commercial \n and open-source software testing tools and applies it since 2014 with great success to its customer\'s test automation projects. Smart Synergies delivers end-2-end test automation services from building pilots demoing Robotframeworks powers to making it part of the continuous integration pipeline, from creating test automation strategies to designing and implementing test scenarios and cases.'},{title:"Testmo",href:"https://www.testmo.com/",imgName:"testmo.png",text:"Testmo is a test management tool for modern software teams. The Testmo team uses\n Robot Framework for acceptance testing and to support its customers' QA."},{title:"Tesena",href:"https://www.tesena.com/",imgName:"tesena.png",text:"Testing is not just something we do. It is everything we do.\n We help companies reveal bugs in their software and save costs thanks to our know-how.\n We are leaders in the testing community, providing training courses, events and inspiration in the field of software testing."},{title:"TMA Solutions",href:"https://www.tmasolutions.com",imgName:"TMAlogo.png",text:"TMA Solutions is using Robot Framework to automate not only single product but also\n complex interoperability testing, involving API, desktop, mobile, web, network devices and\n special hardware. With this framework, we can easily expand testing scopes, improve automation\n run speed while still keeping high reliability."},{title:"Zilogic",href:"https://www.zilogic.com",imgName:"zilogic.png",text:"Zilogic Systems is using Robot Framework for integration testing of embedded products.\n We convert requirements into test cases,write necessary libraries to test the Device Under Test."},{title:"Zymr Inc",href:"https://www.zymr.com",imgName:"zymr.png",text:"Zymr has deep expertise in the Robot Framework and using it extensively for automating\n the test cases for the clients in various industries. It has been used within Docker and other containers."},{title:"Medical Billing Wholesalers",href:"https://www.medicalbillingwholesalers.com/",imgName:"medical_billing.png",text:"Consumed by our purpose of being the most agile healthcare services company in the world,\n we have created a strong delivery model combining the knowledge of our people with market-leading\n technologies to deliver great revenue cycle outcomes to our customers."}]},vi=function(){return[{title:"ABB",href:"https://new.abb.com/",img:"abb.png",description:"ABB is a leading global technology company that energizes the transformation of society and industry to achieve a more productive, sustainable future. ABB employs about 5000 people in Finland. We use Robot Framework for hardware and software testing of multiple product lines, including variable frequency drives and power distribution automation."},{title:"Aktia",href:"https://www.aktia.fi/",img:"aktia.png",description:"Aktia is a Finnish asset manager, bank and life insurer that has been creating wealth and well-being from one generation to the next already for 200 years. We serve our customers through digital channels everywhere and face-to-face in our offices in the Helsinki region as well as in Oulu, Tampere, Turku and Vaasa regions. Funds in our awarded asset management are sold also internationally to institutional clients. We employ approximately 800 people around Finland. In Aktia Robot Framework is used for test automation to guarantee the quality we deliver to our customers."},{title:"Alten",href:"https://www.alten.fi/en/",img:"alten.png",description:"ALTEN Finland Oy provides a wide range of engineering and IT services, especially for industry and other private sectors as well as public administration. We employ 600 top experts in 13 locations. We are part of the ALTEN Group, which employs more than 54 000 professionals in 30 countries around the world."},{title:"ams OSRAM",href:"https://ams-osram.com/",img:"ams_osram.png",description:"ams OSRAM is using Robot Framework to automate post silicon verification tasks of our light sensors and IC products."},{title:"Botlabs",href:"https://botlabs.fi/en/home/",img:"botlabs.png",description:"Botlabs provides your company with modern software robotics and digitalization services. We want to humanize people’s work by outsourcing difficult and tedious tasks to robots, giving people time to do what they do best, which is to make decisions and communicate."},{title:"Capgemini",href:"https://www.capgemini.com",img:"capgemini.png",description:"Capgemini Netherlands is at the forefront of innovation to address the entire breadth of clients’ opportunities in the evolving world of cloud, digital and platforms. Building on its strong 50-year heritage and deep industry-specific expertise, Capgemini enables organizations to realize their business ambitions through an array of services from strategy to operations."},{title:"cgi",href:"https://www.cgi.com/en/intelligence-automation",img:"cgi.png",description:"Founded in 1976, CGI is among the largest IT and business consulting services firms in the world. We are insights-driven and outcomes-based to help accelerate returns on your investments. CGI is privileged to work with clients around the world to use technology to support the vital workings of society and create a better future for all."},{title:"checkmk",href:"https://checkmk.com/",img:"checkmk.png",description:"Checkmk is one of the leading tools for service monitoring of IT infrastructure. Developed in Python and C++, the software is used worldwide to monitor servers, networks, applications, public clouds, containers, storage, databases and environmental sensors. With Synthetic Monitoring based on Robotmk, Checkmk administrators can keep an eye on the availability, performance and functionality of their business-critical applications."},{title:"cisco",href:"https://www.cisco.com/",img:"cisco.png",description:"Cisco’s Customer Experience (CX) supports the testing & validation of Cisco and 3rd party solutions deployed by our customers. This includes Solution Validation Services (SVS) delivered both on Cisco-premise and customer-premise as part of a NetDevOps (CI/CD) process where continuous validation accelerates technology adoption, de-risks IT deployments, changes and upgrades, and ensures complex migrations are transparent."},{title:"continero",href:"https://www.continero.com/en/",img:"continero.png",description:"We are an IT company based in the Brno (Czech Republic), which has existed since 2018. Our primary focus is outsourcing developers and testers to interesting and worldwide projects. We always strive to deliver the best services with a strong emphasis on modern technologies and methodologies. While doing the outsourcing, our primary vision is to help organizations with software quality and together make better products. We are developing a new testing platform built on the Robot Framework. It is a brand new technology that will enable non-developers and business organizations to create comprehensive automation tests without the knowledge of any programming languages."},{title:"DB Schenker",href:"https://www.dbschenker.com/global/about/profile",img:"dbchenker.png",description:"DB Schenker is the world’s largest global logistics provider. The company manages IT development across Technology Solution Center hubs located in Warsaw (PL), Nanjing (CN) and Delhi (IN). To keep high quality of delivered IT solutions, we use a RobotFramework to ensure fast and reliable regression testing for both our legacy and agile projects. Our experts ensure transparency in delivered quality and continuously improve their framework."},{title:"digia",href:"https://www.digia.com/",img:"digia.png",description:"Digia is a IT service company that helps its customers developing and innovating solutions that support business operations together with customers. We adapt to their specific industries to help them develop digital services, manage operations and utilise information, employing nearly 1,000 experts in Finland and Sweden."},{title:"eficode",href:"https://www.eficode.fi/",img:"eficode.png",description:"Eficode is the leading DevOps company in Europe, driving the DevOps and Agile movement and building the future of software development across seven countries with over 400 professionals. Eficode guides customers with DevOps and Agile skills and practices, and enables them to focus on their growth and customers with Eficode ROOT DevOps Platform: a managed service with over 40 preferred tools including Atlassian, Jenkins and Kubernetes; along with our Application Management and Atlassian services."},{title:"eliga",href:"https://eliga.fi/",img:"eliga.png",description:"Eliga is a one-man company owned and operated by Pekka Klärck, the original author and lead developer of Robot Framework. It offers first class training and consulting services related to using and extending Robot Framework, test automation in general and Python programming."},{title:"enqore",href:"https://www.enqore.tech/",img:"enqore.png",description:"Being able to rely on IT without a second thought. That is the objective of Enqore. The company helps organisations to be agile, to respond to new challenges and to be prepared for the unknown. With Test Automation Engineering in an Agile environment, this business ensures that every delivery to production proceeds without a hitch. Enqore does this at various levels: within teams that develop software in an Agile manner, with teams responsible for the CI/CD pipeline and at the level where the testing strategy is determined. Enqore is part of Conflux"},{title:"etteplan",href:"https://www.etteplan.com/services/software-and-embedded-services/software-services/software-testing/",img:"etteplan.png",description:"Etteplan is a specialist in industrial equipment engineering, embedded systems and IoT and technical documentation solutions and services with deep knowledge in QA from network edge to cloud in Nordics. Etteplan provides also consulting services in test automation and QA process development."},{title:"eucon",href:"https://www.eucon.com/en/",img:"eucon.png",description:"Eucon is a digital pioneer and expert in data-driven decision making. We combine comprehensive market data and in-depth expert knowledge with modern technologies such as Artificial Intelligence and Robotic Process Automation. Using data intelligence, we create the basis for smart decisions and support our customers in the automotive, insurance and real estate industries in further digitalizing and automating their business processes. Eucon was founded in Münster in 1997. With over 500 people in offices in Europe, North and Latin America, and Asia-Pacific, the international team serves around 250 customers in more than 80 countries."},{title:"F2G Solutions",href:"https://www.f2gsolutions.com",img:"f2g.png",description:"5G testing, E2E automation and network quality assurance."},{title:"fresenius",href:"https://www.freseniusmedicalcare.fi/",img:"fresenius.png",description:'Fresenius Medical Care is the world\'s leading provider of products and services for individuals with renal diseases of which around 3.9 million patients worldwide regularly undergo dialysis treatment.\n
"At Fresenius Medical, we leverage the power of Robot Framework for our product verification processes Robot Framework empowers us to achieve faster and more reliable testing, ultimately contributing to the enhancement of our product development processes."'},{title:"gofore",href:"https://gofore.com/en/",img:"gofore.png",description:'Gofore Plc is a Finnish digitalisation specialist with international growth plans. We’re made up of over 700 people across Finland, Germany, Spain, and Estonia – top experts in our industry who are our company’s heart, brain, and hands. We use consulting, coding and design as tools to incite positive change. We care for our people, our customers, and the surrounding world. We rely on RobotFramework at our consulting, coding, design and quality assurance. Learn to know us better at www.gofore.com.'},{title:"henix",href:"https://www.henix.com",img:"henix.png",description:"Henix is a French consulting company specializing in software quality assurance. By offering a wide range of services including test automation using Robot Framework, it has become the leading pure player test company in France. Since 2011, Henix is the publisher of the Squash Open Source testing suite. Made by testers for testers, it interfaces natively with Robot Framework to ease test automation management as efficiently as manual tests."},{title:"humanitec",href:"https://humanitec.com/",img:"humanitec.png",description:"Humanitec is a VC-financed company that drives developer productivity by radically simplifying how organizations deliver software at scale. The Humanitec Platform Orchestrator is the fastest, most reliable way to build an enterprise-grade Internal Developer Platform (IDP). The orchestrator dynamically generates app and infra configurations with every new deployment, driving standardization across the entire software delivery lifecycle. This means no more ticket ops or waiting times for developers, resulting 4x higher deployment frequency and 30% faster time to market."},{title:"imbus",href:"https://www.imbus.de/softwaretest/",img:"imbus.png",description:"imbus is a German leading solution partner for professional software testing and intelligent software quality assurance. The portfolio includes consulting for process improvement as well as test automation, test tools, and training. Since 1992, imbus has been synonymous with smart test automation."},{title:"ing group",href:"https://www.ing.com/Home.htm",img:"ing.png",description:"The ING Group is a Dutch multinational banking and financial services corporation headquartered in Amsterdam. Its primary businesses are retail banking, direct banking, commercial banking, investment banking, wholesale banking, private banking, asset management, and insurance services. At the heart of the bank in the Netherlands, NL Corebank we use Robot Framework to test our applications."},{title:"knowit",href:"https://www.knowit.fi/",img:"knowit.png",description:"Knowit is a consulting company that helps its clients succeed by operating close and in an innovative, business-oriented way. With our large pool of test automation professionals, we can ensure highest software quality and gain immediate and future savings."},{title:"kuka",href:"https://www.kuka.com/",img:"kuka.png",description:"There is a good reason why KUKA products can be found in virtually every industry: our portfolio offers perfectly matched automation solutions for more efficient manufacturing processes – from just a single robot to specialized cells through to complete system concepts."},{title:"luoto",href:"https://www.luotocompany.fi/",img:"luoto.png",description:"Full-stack software development company that focus on high quality. Interest in data and AI/ML also. Luoto has one of a kind, modern organization structure through full partner program, with lean management and sharp focus on customer experience. Our customers will get best 10% of IT specialist in market, who own the customer experience."},{title:"nexi",href:"https://www.nexigroup.com/en/",img:"nexi.png",description:"Nexi Digital Finland is a software development and innovation centre for Nexi Group located in Espoo, Finland.
As a part of one of the biggest European PayTech companies, we drive the product development of digital in-store payment products and services. First of its kind in the Nordics, Nexi Digital Finland development hub aims to bring pioneering solutions to support Nexi Group shape the future of the payment industry.
Nexi Group is the merger and integration of Nexi, Nets and Sia and has operations in over 25 European countries. More than 10 000 professionals in Nexi Group work towards the transition of a cashless Europe by making every payment digital."},{title:"nokia",href:"https://www.nokia.com/",img:"nokia.png",description:"\n Nokia develops and delivers the telecommunications industry's only end-to-end portfolio of network equipment, software, services and licensing that is available globally. Nokia also serves consumers with technology and devices. First versions of Robot Framework were developed in Nokia and Robot Framework is extensively used and developed further in Nokia today."},{title:"nordea",href:"https://www.nordea.com/en/",img:"nordea.png",description:"Nordea is a leading Nordic universal bank. We are helping our customers realise their dreams and aspirations – and we have done that for 200 years. We want to make a real difference for our customers and the communities where we operate – by being a strong and personal financial partner. The Nordea share is listed on the Nasdaq Helsinki, Nasdaq Copenhagen and Nasdaq Stockholm exchanges."},{title:"northcode",href:"https://www.northcode.fi/",img:"northcode.png",description:"We are a consulting company that offers DevSecOps services.

The foundation of our operations is our epic ownership model, where every employee is also a shareholder in the company."},{title:"op",href:"https://www.op.fi/op-ryhma",img:"op.png",description:"\n OP Financial Group is Finland's largest financial services group whose mission is to promote the sustainable prosperity, security and wellbeing of its owner-customers and business environment. The Group has a staff of 12,000 and almost 2 million owner-customers. OP uses Robot Framework for improving our agile testing quality and CI/CD, as well for bringing more customer satisfaction with the RPA capabilities."},{title:"opuscapita",href:"https://www.opuscapita.com/",img:"opuscapita.png",description:"OpusCapita enables organizations to sell, buy and pay quickly and securely, with a real-time view of their business. Over 3000 customers in over 100 countries use our source-to-pay, cash management and product information management solutions to connect, transact and grow."},{title:"posti",href:"https://www.posti.com/",img:"posti.png",description:"Posti is one of the leading delivery and fulfillment companies in Finland, Sweden and Baltics. We tend to the smoothness of our customers’ everyday lives and business by offering a wide range of postal, logistics, freight, and eCommerce services. We have the widest network coverage in Finland, and we visit around three million households and companies every weekday. We actively use Robot Framework in the test automation suites, improving quality and allowing for increased speed of developing new features for our many products."},{title:"prove",href:"https://www.prove.fi/",img:"prove.png",description:"Prove is a trailblazer in the wildly unpredictable and fast-paced world of tech, where we excel as leaders in software testing. Specializing in those high-stakes moments characterized by tight deadlines and limited information, Prove delivers state-of-the-art software testing results. Our philosophy is simple: software quality is mental health. Everybody, from coder to client, is happier when software works. Everyone wants to play on the winning team. With Prove on your side, you're not just ensuring that your software development soars—you're also investing in peace of mind for your team and your customers."},{title:"provinzial",href:"https://www.provinzial.de/",img:"provinzial.png",description:"The Provinzial Holding AG is the second largest insurance group in Germany. We ensure what is dear to our customers. We gain our strength from the regional ties of our subsidiaries. For more than 300 years, we are where our customers are. Today, more than five million private and corporate customers place their trust in us. What makes us special is our regionality and proximity. Our advisors are at most a few minutes away from our customers and can be reached through our many digital channels at any time. Furthermore, we put great importance on sustainability and commitment to the regions that are firmly anchored in our corporate values. Whether in the field of art and culture, sports sponsorship or security: We engage ourselves - and we do so in many different areas. "},{title:"qentinel",href:"https://qentinel.fi/",img:"qentinel.png",description:"Qentinel is the leading robotic software testing company applying system thinking and AI to maximize value creation. We have over hundred enthusiastic specialists who create the next generation of automated QA without humans in the loop. We believe your business is as good as software driving it."},{title:"qfactory",href:"https://www.q-factory.fi/",img:"qfactory.png",description:"\n Q-Factory is specialized in test automation and quality assurance services. Our expertise is based on strong project experience, and extensive testing and test tool knowledge. We emphasize on early software quality and we help fixing quality issues when it's most economical – before they are made."},{title:"qubilea",href:"https://qubilea.fi/en/",img:"qubilea.png",description:"Qubilea is Finnish software quality assurance company, offering consulting services in software testing and test automation solutions."},{title:"reaktor",href:"https://reaktor.fi/",img:"reaktor.png",description:"Reaktor is a creative technology house that constructs exceptional digital services. We build services for clients specializing in finance, retail, media, telecommunications, in-flight services and the public sector."},{title:"relex",href:"https://www.relexsolutions.com/",img:"relex.png",description:"RELEX Solutions provides market-leading software optimising supply chain and retail planning to reduce the carbon footprint. Our QA teams use Robot Framework in test automation against APIs and user interfaces, among other good test automation tools the teams find valuable."},{title:"rpamaker",href:"https://www.rpamaker.com/",img:"rpamaker.png",description:"RPAMAKER provides end to end process automation services. We are a client-centric company focused on helping clients confidently walk through the automation journey. We drive our clients to discover, evaluate, develop, host, maintain, support and improve their automations."},{title:"segron",href:"https://www.segron.com",img:"segron.png",description:"SEGRON provides Beyond End2End Test Automation solutions for communication networks. Our unique Automated Test Framework approach can orchestrate real-time testing with Out-of-the-Box end-user devices (iOS and Android smartphones and IoT devices). We strive to offer the industry expertise and reliable service that businesses look for in a long-term test automation partner."},{title:"sepp.med",href:"https://www.seppmed.de/en/",img:"seppmed.png",description:"Digitalization boosted by sepp.med quality Software development, quality assurance and testing for security-critical fields – for more than 40 years. sepp.med is an it-consultancy, an it-service provider and also a tool manufacturer. With and for our customers, we shape the digitalization of the future. This starts with consulting on possible regulatory requirements, standards and guidelines (ISO/IEC, SPICE, FDA or MDR), includes requirements and project management and covers also the whole development process including reliable test concepts and test execution. Using the expertise and scalability of our agile software factory or our agile test factory we also take over entire development or test projects. Furthermore, we are happy to share our knowledge about software development and test processes in open or individual trainings within our ISTQB® accredited training academy."},{title:"signant health",href:"https://signanthealth.com",img:"signant.png",description:"Signant Health (formerly known as CRF Health, the 4th unicorn from Finland) is a Product Company creating eCOA product platform in regulated business area. We use Robot Framework and Python for our test automation in our offices in Helsinki and Iasi, Romania. We understand the importance of quality in software development. We are good, but we want to be the best in our industry."},{title:"siili",href:"https://www.siili.com/",img:"siili.png",description:"We are a modern, full-service technology company. We help you create better business and meaningful digital experiences by combining strategic insight, creative design, data management, and technology expertise."},{title:"simplr",href:"https://simplr.company/",img:"simplr.png",description:"Simplr is a software development company focused on creating applications and tooling to best match the requirements of users. At Simplr we value open-source culture and endorse our employees to create and contribute to projects they use and enjoy. In addition to working on open source, we deliver high quality solutions matching the needs of our clients."},{title:"Slovenská sporiteľňa",href:"https://www.slsp.sk/",img:"slsp.png",description:"Slovenská sporiteľňa is the largest commercial bank in Slovakia, servicing more than 2.2 million clients. For a long time, it keeps its leadership in the area of total assets, credits, client‘s deposits, number of branches and ATMs. It offers its comprehensive services in more than 190 branches and 8 commercial centers in Slovakia. The long-term tradition, trust, and customer satisfaction combined with the know-how and experience of its owner have created good prerequisites for the bank´s success in the Slovak and European banking market. From 2001 on, Slovenská sporiteľňa became a member of Erste Group, that operates in 7 European countries. Slovenská sporiteľňa focuses on digital innovations and value-added services. Robot Framework plays a key role in test automation and RPA solutions."},{title:"smartdocs",href:"https://www.smartdocs.ai",img:"smartdocs.png",description:"Smart Docs Procurement Platform empowers companies around the world to help optimize and streamline their procurement processes. SmartDocs uses Al/ML models and provides a comprehensive set of controls to help Enterprise Procurement teams to monitor and manage procurement operations. By providing an awesome user experience, SmartDocs eliminates the hurdles and complexities of enterprise procurement processes."},{title:"smart synergies",href:"https://www.smart-synergies.eu/",img:"smartsynergies.png",description:'Smart Synergies promotes Robotframework as the "Swiss Army Knife" of Software testing tools in the wide and open seas of commercial\n and open-source software testing tools and applies it since 2014 with great success to its customer\'s test automation projects. Smart Synergies delivers end-2-end test automation services from building pilots demoing Robotframeworks powers to making it part of the continuous integration pipeline, from creating test automation strategies to designing and implementing test scenarios and cases.'},{title:"symbio",href:"https://fi.symbio.com/",img:"symbio.png",description:"Symbio is international co-creation innovation partner. We help our customers create high quality products and future services in digital world. Our core capabilities include software development, test automation, IoT and Connected Car development, QA, embedded development, interoperability and globalization services."},{title:"testimate",href:"https://www.testimate.fi/",img:"testimate.png",description:"Testimate provides comprehensive and independent high-quality software testing services for small and large systems or products. Our employees are versatile testing experts with several years of experience in testing, managing and leading testing and test automation using commercial and open source tools. We know we are good at what we do – and our clients agree!"},{title:"tietoevry",href:"https://www.tietoevry.com/",img:"tietoevry.png",description:"TietoEVRY creates digital advantage for businesses and society. We are a leading digital services and software company with local presence and global capabilities. Our Nordic values and heritage steer our success.
Headquartered in Finland, TietoEVRY employs around 24 000 experts globally. The company serves thousands of enterprise and public sector customers in more than 90 countries."},{title:"vala",href:"https://www.valagroup.com/",img:"vala.png",description:"VALA Group provides outstanding software development and quality assurance services by utilizing automation, co-operation and intelligent tool selection for companies ranging from start-ups to major publicly listed companies. Our greatest strenghts include Test Automation, QA Process Consultation and Quality Driven Software Development."},{title:"veikkaus",href:"https://www.veikkaus.fi/",img:"veikkaus.png",description:"Almost all adult Finns play our games; at Veikkaus we have over two million loyal customers. Thanks to the players, over one billion euros a year are accumulated for the common good. Robot Framework plays a key role in our test automation and RPA."}]};function Ri(e){var t={className:"variable",begin:/\$\{/,end:/\}/},o={className:"variable",begin:/\&\{/,end:/\}/},r={className:"variable",begin:/\@\{/,end:/\}/},a={className:"number",begin:/\$\{([0-9])/,end:/\}/},i={className:"section",begin:/^(\*{1,3})/,end:/$/},n={className:"comment",begin:/^\s*\[?Documentation\]?\s+/,end:/$/},s={className:"comment",begin:/^\.\.\./,end:/$/},l={className:"comment",begin:/(^| {2,}|\t|\| {1,})#/,end:/$/},c={className:"name",begin:/(^([^*| |\t|\n)]))\w/,end:/($|\s{2,})/,contains:[t]},d={className:"built_in",begin:/^\s+\[(Tags|Setup|Teardown|Template|Timeout|Arguments|Return)\]/,end:/$| {2,}|\t/,contains:[t],relevance:10},m={className:"attribute",begin:/^(Library|Resource|Test Timeout|Test Template|Test Teardown|Test Setup|Default Tags|Force Tags|Variables|Suite Setup|Suite Teardown)(?:( )|( \| ))/,end:/$| {2,}|\t/,contains:[t],relevance:10},u={className:"comment",variants:[{begin:/^\s{2,}given/,end:/\s/},{begin:/^\s{2,}when/,end:/\s/},{begin:/^\s{2,}then/,end:/\s/},{begin:/^\s{2,}and/,end:/\s/}]};return{case_insensitive:!0,aliases:["robot","rf"],keywords:"Settings Keywords [Return] [Teardown] [Timeout] [Setup] [Tags] [Arguments] [Documentation]",contains:[a,t,o,r,i,m,n,s,c,l,d,u]}}const Di=function(e){e.registerLanguage("robot",Ri)};Di(ai.Z);var Ei={builtin:_i(),libraries:fi(),tools:wi(),learning:yi(),users:ki(),sponsors:vi()},Ti=(0,ri.o)({locale:"en-US",messages:{"en-US":(0,r.Z)((0,r.Z)({},ci()),{},{resourcesList:Ei}),"de-DE":(0,r.Z)((0,r.Z)({},di()),{},{resourcesList:Ei}),"pt-PT":(0,r.Z)((0,r.Z)({},mi()),{},{resourcesList:Ei}),"es-ES":(0,r.Z)((0,r.Z)({},hi()),{},{resourcesList:Ei}),"ru-RU":(0,r.Z)((0,r.Z)({},pi()),{},{resourcesList:Ei}),"zh-CN":(0,r.Z)((0,r.Z)({},bi()),{},{resourcesList:Ei}),"fr-FR":(0,r.Z)((0,r.Z)({},ui()),{},{resourcesList:Ei}),"ach-UG":(0,r.Z)((0,r.Z)({},gi()),{},{resourcesList:Ei})},warnHtmlInMessage:"off"});(0,a.ri)(d).use(oi).use(ei).use(Ti).use(ii.Z).mount("#app")},36741:(e,t,o)=>{o.d(t,{Z:()=>p});var r=o(66252),a=o(3577),i=function(e){return(0,r.dD)("data-v-b8d6b6a6"),e=e(),(0,r.Cn)(),e},n=["width","height","fill"],s=i((function(){return(0,r._)("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12l4.58-4.59z"},null,-1)})),l=[s];function c(e,t,o,i,s,c){return(0,r.wg)(),(0,r.iD)("svg",{viewBox:"0 0 24 24",width:o.size,height:o.size,fill:c.fillColor,style:(0,a.j5)("transform: ".concat(c.transform))},l,12,n)}const d={name:"Chevron",props:{direction:{type:String,default:"left"},size:{type:String,default:"1rem"},color:{type:String,default:"black"}},computed:{transform:function(){return"right"===this.direction?"rotate(180deg)":"up"===this.direction?"rotate(90deg)":"down"===this.direction?"rotate(-90deg)":""},fillColor:function(){return"white"===this.color?"#f5f5f5":"theme"===this.color?"#00c0b5":"#1d1d1d"}}};var m=o(83744);const u=(0,m.Z)(d,[["render",c],["__scopeId","data-v-b8d6b6a6"]]),p=u},90887:(e,t,o)=>{o.d(t,{Z:()=>b});var r=o(82482),a=o(66252),i=o(3577),n=function(e){return(0,a.dD)("data-v-5b0febe3"),e=e(),(0,a.Cn)(),e},s=["width","height"],l=n((function(){return(0,a._)("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1)})),c=n((function(){return(0,a._)("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-5 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h10v2z"},null,-1)})),d=[l,c];function m(e,t,o,n,l,c){var m;return(0,a.wg)(),(0,a.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o.size,height:o.size,class:(0,i.C_)((m={},(0,r.Z)(m,"fill-white","white"===o.color),(0,r.Z)(m,"fill-theme","theme"===o.color),(0,r.Z)(m,"fill-black","black"===o.color),m))},d,10,s)}const u={name:"DocumentIcon",props:{color:{type:String,default:"white"},size:{type:String,default:"1rem"}}};var p=o(83744);const h=(0,p.Z)(u,[["render",m],["__scopeId","data-v-5b0febe3"]]),b=h},44479:(e,t,o)=>{o.d(t,{Z:()=>b});var r=o(82482),a=o(66252),i=o(3577),n=function(e){return(0,a.dD)("data-v-56df7616"),e=e(),(0,a.Cn)(),e},s=["width","height"],l=n((function(){return(0,a._)("path",{d:"M0 0h24v24H0V0z",fill:"none"},null,-1)})),c=n((function(){return(0,a._)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"},null,-1)})),d=[l,c];function m(e,t,o,n,l,c){var m;return(0,a.wg)(),(0,a.iD)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:o.size,height:o.size,class:(0,i.C_)((m={},(0,r.Z)(m,"fill-white","white"===o.color),(0,r.Z)(m,"fill-theme","theme"===o.color),m))},d,10,s)}const u={name:"NewTabIcon",props:{color:{type:String,default:"white"},size:{type:String,default:"1rem"}}};var p=o(83744);const h=(0,p.Z)(u,[["render",m],["__scopeId","data-v-56df7616"]]),b=h}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var o=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(o.exports,o,o.exports,__webpack_require__),o.loaded=!0,o.exports}__webpack_require__.m=__webpack_modules__,(()=>{__webpack_require__.amdO={}})(),(()=>{var e=[];__webpack_require__.O=(t,o,r,a)=>{if(!o){var i=1/0;for(c=0;c=a)&&Object.keys(__webpack_require__.O).every((e=>__webpack_require__.O[e](o[s])))?o.splice(s--,1):(n=!1,a0&&e[c-1][2]>a;c--)e[c]=e[c-1];e[c]=[o,r,a]}})(),(()=>{__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e["default"]:()=>e;return __webpack_require__.d(t,{a:t}),t}})(),(()=>{__webpack_require__.d=(e,t)=>{for(var o in t)__webpack_require__.o(t,o)&&!__webpack_require__.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}})(),(()=>{__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,o)=>(__webpack_require__.f[o](e,t),t)),[]))})(),(()=>{__webpack_require__.u=e=>"js/"+e+"."+{48:"3a91f0b3",55:"0b2854d8",111:"a3b7f122",271:"948b6974",341:"41664356",509:"aed6a057",527:"ce9c6f5b",542:"f23f30aa",598:"23ac0c5a",786:"ae8e6688",877:"c7c757f0",954:"4e5d738e",962:"5b893867"}[e]+".js"})(),(()=>{__webpack_require__.miniCssF=e=>"css/"+e+"."+{55:"c4976d20",509:"88b59296",542:"ba620813"}[e]+".css"})(),(()=>{__webpack_require__.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()})(),(()=>{__webpack_require__.hmd=e=>(e=Object.create(e),e.children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e)})(),(()=>{__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{var e={},t="robot-framework:";__webpack_require__.l=(o,r,a,i)=>{if(e[o])e[o].push(r);else{var n,s;if(void 0!==a)for(var l=document.getElementsByTagName("script"),c=0;c{n.onerror=n.onload=null,clearTimeout(u);var a=e[o];if(delete e[o],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach((e=>e(r))),t)return t(r)},u=setTimeout(m.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=m.bind(null,n.onerror),n.onload=m.bind(null,n.onload),s&&document.head.appendChild(n)}}})(),(()=>{__webpack_require__.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}})(),(()=>{__webpack_require__.p="/"})(),(()=>{if("undefined"!==typeof document){var e=(e,t,o,r,a)=>{var i=document.createElement("link");i.rel="stylesheet",i.type="text/css";var n=o=>{if(i.onerror=i.onload=null,"load"===o.type)r();else{var n=o&&("load"===o.type?"missing":o.type),s=o&&o.target&&o.target.href||t,l=new Error("Loading CSS chunk "+e+" failed.\n("+s+")");l.code="CSS_CHUNK_LOAD_FAILED",l.type=n,l.request=s,i.parentNode&&i.parentNode.removeChild(i),a(l)}};return i.onerror=i.onload=n,i.href=t,o?o.parentNode.insertBefore(i,o.nextSibling):document.head.appendChild(i),i},t=(e,t)=>{for(var o=document.getElementsByTagName("link"),r=0;rnew Promise(((r,a)=>{var i=__webpack_require__.miniCssF(o),n=__webpack_require__.p+i;if(t(i,n))return r();e(o,n,null,r,a)})),r={143:0};__webpack_require__.f.miniCss=(e,t)=>{var a={55:1,509:1,542:1};r[e]?t.push(r[e]):0!==r[e]&&a[e]&&t.push(r[e]=o(e).then((()=>{r[e]=0}),(t=>{throw delete r[e],t})))}}})(),(()=>{var e={143:0};__webpack_require__.f.j=(t,o)=>{var r=__webpack_require__.o(e,t)?e[t]:void 0;if(0!==r)if(r)o.push(r[2]);else{var a=new Promise(((o,a)=>r=e[t]=[o,a]));o.push(r[2]=a);var i=__webpack_require__.p+__webpack_require__.u(t),n=new Error,s=o=>{if(__webpack_require__.o(e,t)&&(r=e[t],0!==r&&(e[t]=void 0),r)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;n.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",n.name="ChunkLoadError",n.type=a,n.request=i,r[1](n)}};__webpack_require__.l(i,s,"chunk-"+t,t)}},__webpack_require__.O.j=t=>0===e[t];var t=(t,o)=>{var r,a,[i,n,s]=o,l=0;if(i.some((t=>0!==e[t]))){for(r in n)__webpack_require__.o(n,r)&&(__webpack_require__.m[r]=n[r]);if(s)var c=s(__webpack_require__)}for(t&&t(o);l__webpack_require__(71386)));__webpack_exports__=__webpack_require__.O(__webpack_exports__)})(); \ No newline at end of file diff --git a/docs/service-worker.js b/docs/service-worker.js index 123e2b542..8a64c450b 100644 --- a/docs/service-worker.js +++ b/docs/service-worker.js @@ -1 +1 @@ -if(!self.define){let e,s={};const r=(r,i)=>(r=new URL(r+".js",i).href,s[r]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=r,e.onload=s,document.head.appendChild(e)}else e=r,importScripts(r),s()})).then((()=>{let e=s[r];if(!e)throw new Error(`Module ${r} didn’t register its module`);return e})));self.define=(i,n)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let a={};const c=e=>r(e,o),f={module:{uri:o},exports:a,require:c};s[o]=Promise.all(i.map((e=>f[e]||c(e)))).then((e=>(n(...e),a)))}}define(["./workbox-db5fc017"],(function(e){"use strict";e.setCacheNameDetails({prefix:"robot-framework"}),self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"/404.html",revision:"f4e3edb53349945387e617abbd0fd231"},{url:"/CNAME",revision:"b9d1ce36b74077687fa96cd27a1498fa"},{url:"/code/hello-world/keywords.resource",revision:"6cfa3d85c9c3399ff28d5d16951e7a42"},{url:"/code/hello-world/test.robot",revision:"0c283be998710a0b4c72707af3f66bca"},{url:"/css/509.88b59296.css",revision:null},{url:"/css/542.ba620813.css",revision:null},{url:"/css/55.c4976d20.css",revision:null},{url:"/css/app.0a54051d.css",revision:null},{url:"/editor.worker.js",revision:"c32a55f347a96275d8a6d9059c2795a7"},{url:"/example/example.robot",revision:"07d51baeb8298ae3bbe4968fe36bae50"},{url:"/example/log.html",revision:"8805923876cc017f9cdd63be6841955f"},{url:"/example/resource.robot",revision:"27b05d6207e9a2ebffecfc564ea1cbb4"},{url:"/fonts/CourierCode-Bold.5fb0947e.woff",revision:null},{url:"/fonts/CourierCode-Italic.3d7db8fe.woff",revision:null},{url:"/fonts/CourierCode-Roman.9e9c7312.woff",revision:null},{url:"/fonts/OCRA2.ea4aa5c0.woff",revision:null},{url:"/fonts/codicon.d1e7e26c.ttf",revision:null},{url:"/html.worker.js",revision:"b4c801e64dbad5482a140a91a963c0b1"},{url:"/img/Calendar.svg",revision:"8297cf2cf2a9fc56bd612112f636de30"},{url:"/img/Gmail.svg",revision:"9dbc79dab48422c821c75bbfc21165ec"},{url:"/img/RF-white.svg",revision:"5f61873d6ea9fe47b23c09528ee13efd"},{url:"/img/RF.svg",revision:"719774271ca4c3ae003b0d126dbe61b9"},{url:"/img/Slack.svg",revision:"f5fe2f626289d9e83ecc84a66537c631"},{url:"/img/TestCon-banner.png",revision:"35f368300314648d0cac13d302d76e90"},{url:"/img/carousel-company-icons/ABB.svg",revision:"660a75426749f1aeb4bae22bef2c4757"},{url:"/img/carousel-company-icons/Cisco.svg",revision:"6c68e1e0c5fa2dd9a55e77e5efd49382"},{url:"/img/carousel-company-icons/Condé_Nast.svg",revision:"e9bb142c55103dae3e4f2ea3eff28dca"},{url:"/img/carousel-company-icons/Finnair.svg",revision:"e76aacb26c092c3ed28d4b4da1df3448"},{url:"/img/carousel-company-icons/Juniper_Networks.svg",revision:"951b8992fdff194268841e73210ef775"},{url:"/img/carousel-company-icons/Kone.svg",revision:"7dcc5efb197b559a82ef1f7f6bdbef0f"},{url:"/img/carousel-company-icons/Naval_Research_Laboratory.svg",revision:"3b7e5ca1c422df2ad38698fb7fbcbf80"},{url:"/img/carousel-company-icons/Nokia.svg",revision:"f6bf0ff4f4a0afef6a189e6e312d2bf9"},{url:"/img/carousel-company-icons/Vero.svg",revision:"8fd65193ed5fc664766b4b16ed195e97"},{url:"/img/sponsors/abb.png",revision:"0a9db72ee03d319f6e142cfeface2fbd"},{url:"/img/sponsors/aktia.png",revision:"3514f30854191f82482b140c5f075537"},{url:"/img/sponsors/alten.png",revision:"0d5a572056f1b4f9cb4cf29c4f539402"},{url:"/img/sponsors/ams_osram.png",revision:"68bdbd1c0e7b4d8688bb5e922872daff"},{url:"/img/sponsors/arvanto.png",revision:"bf69b37f0e13603a0a35ef9253e17c78"},{url:"/img/sponsors/botlabs.png",revision:"e6ff1102d99f99b3fe44701b3228ab6a"},{url:"/img/sponsors/capgemini.png",revision:"be1579d0ace1098deca10d22477f5df3"},{url:"/img/sponsors/cgi.png",revision:"645e2435cd2154bec4fad0f2cc5ac920"},{url:"/img/sponsors/checkmk.png",revision:"991cab1fb8017421e0a019dd6a5ef039"},{url:"/img/sponsors/cisco.png",revision:"3be0556b34a86bca4a2d37c4736884c8"},{url:"/img/sponsors/comiq.png",revision:"4ab5b1a41fc91884d01f7702d95f92cf"},{url:"/img/sponsors/continero.png",revision:"ad8c2c6586a9128c770d9009c2313083"},{url:"/img/sponsors/dbchenker.png",revision:"e146b53f2a9d8675dc2d4ed21e21af44"},{url:"/img/sponsors/deutschepost.png",revision:"11cf74570cb294534dc73bb4d9428f9f"},{url:"/img/sponsors/digia.png",revision:"acda23bcffacb9c6aadb758823dfd55c"},{url:"/img/sponsors/eficode.png",revision:"cb10b02fa9b2892c65416b09801540fb"},{url:"/img/sponsors/eliga.png",revision:"7e7d036c80dfa8d0d3336e130081c320"},{url:"/img/sponsors/enqore.png",revision:"2c685f2188f4a5c139d89787831b6802"},{url:"/img/sponsors/etteplan.png",revision:"f6a13da34c64233285c951a081210cb5"},{url:"/img/sponsors/eucon.png",revision:"40c2a827da86a4aafbb92f43f8479004"},{url:"/img/sponsors/f2g.png",revision:"33993bc8e3dfb46cbfc826531660039d"},{url:"/img/sponsors/fresenius.png",revision:"a80ff4f5b6e9c855a093e9bd05022596"},{url:"/img/sponsors/gofore.png",revision:"55d22cf97cf2e401aee9af1912188dd6"},{url:"/img/sponsors/henix.png",revision:"58bdc3de455c9f9681bb92e379573559"},{url:"/img/sponsors/humanitec.png",revision:"96c1313a7cba75e1c1f971ba7b310ffa"},{url:"/img/sponsors/imbus.png",revision:"19e2c27266d6b1e631bfd81e85e22706"},{url:"/img/sponsors/ing.png",revision:"2a65d57a9e55aa3efd450131b1f9257e"},{url:"/img/sponsors/knowit.png",revision:"f3b2290a3bc373037f4e92b57ee0f9fb"},{url:"/img/sponsors/kuka.png",revision:"dc8d03bf254829b89bb496d75335c049"},{url:"/img/sponsors/luoto.png",revision:"417736c6bd787b5d027f803304c040c6"},{url:"/img/sponsors/nets.png",revision:"427b91d9c9671b7d0c6f9d4408f9e78b"},{url:"/img/sponsors/nexi.png",revision:"4b4aebde4378be3fa9a8f78ff8ed1a5d"},{url:"/img/sponsors/nokia.png",revision:"d76cc3b486b15210dc3946982650619b"},{url:"/img/sponsors/nordea.png",revision:"de949e93e5e45f3d57a41b8976ff926b"},{url:"/img/sponsors/northcode.png",revision:"c6c07d650b12ebf20e81def92bff7e5f"},{url:"/img/sponsors/op.png",revision:"fd1caeb4e836c6619d207d2d6bcd39c4"},{url:"/img/sponsors/opuscapita.png",revision:"cf2c220b73c2b7351539bb420edc5212"},{url:"/img/sponsors/oura.png",revision:"68a837d2f4d6087491453ed1981c5d37"},{url:"/img/sponsors/posti.png",revision:"a6fa4fa9a9a78b5a3762f053a34d92f8"},{url:"/img/sponsors/prove.png",revision:"4dc6134102c19d4bc5ed9fdba7e99a00"},{url:"/img/sponsors/provinzial.png",revision:"626b27648b30c6abdc83702e63f887ab"},{url:"/img/sponsors/qentinel.png",revision:"8508ba8f3b93382dc3a215a78af94d25"},{url:"/img/sponsors/qfactory.png",revision:"2689e451486a32d337ac9d7849d0d88a"},{url:"/img/sponsors/qubilea.png",revision:"c935701b5f0b128379cce60eb45277f7"},{url:"/img/sponsors/reaktor.png",revision:"76d024a86c588f900414396b6dd7f632"},{url:"/img/sponsors/relex.png",revision:"ae61cc2b49ec0711fe0244c048313333"},{url:"/img/sponsors/robocorp.png",revision:"b7620c520b6e5998c11aefe584be7fbc"},{url:"/img/sponsors/rpamaker.png",revision:"ea33553faee89090d9063a40ed0025c5"},{url:"/img/sponsors/segron.png",revision:"c2e95d0ac2edc1df646c84efc0cb52d7"},{url:"/img/sponsors/seppmed.png",revision:"d9d29e5b63fb22d5f813fd7594fbbc7a"},{url:"/img/sponsors/signant.png",revision:"5bd7dbb03d17708e48876902147db1fb"},{url:"/img/sponsors/siili.png",revision:"8eb43b1e87cf29bca83c08f5fdeda825"},{url:"/img/sponsors/simplr.png",revision:"42cb39e2c740143eb668896b9c454aaa"},{url:"/img/sponsors/slsp.png",revision:"e330985e072738a7cf0d7513e6add29f"},{url:"/img/sponsors/smartdocs.png",revision:"a9b217da635c8cac709c9fabee3b13cc"},{url:"/img/sponsors/smartsynergies.png",revision:"45f6383db0a9adbda64e149769f1fea7"},{url:"/img/sponsors/symbio.png",revision:"5933162db8921dfe6a1ac908cf667930"},{url:"/img/sponsors/testimate.png",revision:"3d6e6244e513c5080b6c999a47a8571c"},{url:"/img/sponsors/tietoevry.png",revision:"17b01c8a2b4e4714c531b4fdcfc44744"},{url:"/img/sponsors/vala.png",revision:"f164dec9ef5d0c4a38e3980cd2ae5b25"},{url:"/img/sponsors/veikkaus.png",revision:"11c51d416f4935b2506de47076421432"},{url:"/img/users/TMAlogo.png",revision:"ab1c2ac61c147ec13366859ead20c80c"},{url:"/img/users/abb.png",revision:"30b9ae29fdb770386a10505c28ce1e5d"},{url:"/img/users/accruent.png",revision:"0c8cd2f7c7d13fc9c2722c210c6fd0a4"},{url:"/img/users/adwisit.png",revision:"1a937cd6845de281b5a2d8b52223e4e4"},{url:"/img/users/alfastrahovanie.png",revision:"d00d5e840793602dd02f72ba0e100f1e"},{url:"/img/users/alpha.png",revision:"851f771e4c3a08cb0ef23ef20bdbbf73"},{url:"/img/users/altran.png",revision:"eea588f1ec68c6e2b8a64e8ba9e9935a"},{url:"/img/users/axon.png",revision:"e66c5c895d2f9953def585e657095e9b"},{url:"/img/users/cenx.png",revision:"9b47df952bc8bef8e14aca838a6c2b4e"},{url:"/img/users/cisco.jpg",revision:"561a2eacde6cee827152b4d15de618be"},{url:"/img/users/condenast.png",revision:"f1eda50a24e2e0d9328375ab469b7429"},{url:"/img/users/etteplan.png",revision:"ae5842cf3b4b0523bf28b40e0fad03a2"},{url:"/img/users/ficosa.png",revision:"1093ebc1a633f9169f9a3df415a88745"},{url:"/img/users/finnair.png",revision:"799259a9c8a4dcfb58cfddcec256cd52"},{url:"/img/users/flipdish.png",revision:"9f3a1fa9fe4ee6a25ed44b61f26f1625"},{url:"/img/users/heymath.png",revision:"0e77772c90edcef853a45b051abca478"},{url:"/img/users/juniper.png",revision:"6aaaa24bdff78d3c51e1aad96e6046bc"},{url:"/img/users/kistler.svg",revision:"4dec06408ae185f309078cebab488cb7"},{url:"/img/users/kone.png",revision:"43e803812387d235a7d514962bbb1ba1"},{url:"/img/users/log.png",revision:"ab587a922b8bef36ba5b8b96c208edcc"},{url:"/img/users/lucid.png",revision:"e5a526690a06eb936b7f4c9a2a0ef4aa"},{url:"/img/users/medical_billing.png",revision:"df9801550c25fa48a25e7b8aa6bf21d8"},{url:"/img/users/metso.png",revision:"26c286c5193563c3ab4e4771e3468df3"},{url:"/img/users/mews.png",revision:"77f8ef7053bb63961a62ac5933f34b42"},{url:"/img/users/nokia.png",revision:"cb6a5a48e56fd3d02e5b06d6470d82d7"},{url:"/img/users/nrl.png",revision:"6b3bf8f89f1afead9999359659ebc18d"},{url:"/img/users/open_drives.png",revision:"1e538e1997870446989afa874dd8f5f5"},{url:"/img/users/opendaylight.png",revision:"31b609fd95098ff0b2d1e8732251b9a0"},{url:"/img/users/opuscapita.png",revision:"c74fa5ca276241fe4aac648c280702dd"},{url:"/img/users/oriental.png",revision:"373a479a28abea67c3d42785995c30e8"},{url:"/img/users/qahive.png",revision:"cab625b4ac80905e936501c167120f0d"},{url:"/img/users/rocla.png",revision:"c9afd34313e9547d204a221427f9d390"},{url:"/img/users/runwhen.png",revision:"43387346635124cb01b205c8de516cbe"},{url:"/img/users/ryerson.png",revision:"45a1c1546066749bb5102850c9d73cac"},{url:"/img/users/salicru.png",revision:"4b404a006a3c8aab8b0fe9a74b508d35"},{url:"/img/users/segron.png",revision:"7dbe39df5d78333785ec15e7b9f8f334"},{url:"/img/users/smartsynergies.png",revision:"45f6383db0a9adbda64e149769f1fea7"},{url:"/img/users/spectrum.png",revision:"8fc815d97406dad569842089b19718be"},{url:"/img/users/steeri.png",revision:"023acb9de5fccefde17a0734f8028848"},{url:"/img/users/tesena.png",revision:"93750eec16f7fe7af8e117f85992868c"},{url:"/img/users/testmo.png",revision:"c214b4f266c1c0a6003ad6b5090aff7c"},{url:"/img/users/tmu_logo.png",revision:"a7897d08f5b77dcaefe64c18bbdcd054"},{url:"/img/users/vero.png",revision:"f33a2db0ec1e1eb28cf4e5528e379855"},{url:"/img/users/zilogic.png",revision:"aab2dc63e9d21482c592885e457fa661"},{url:"/img/users/zymr.png",revision:"ea8d35aa7923bd438a426cfe36898768"},{url:"/index.html",revision:"0cffc55c94522ad01cfc111d5d6fdbcc"},{url:"/js/111.a3b7f122.js",revision:null},{url:"/js/271.948b6974.js",revision:null},{url:"/js/341.41664356.js",revision:null},{url:"/js/48.3a91f0b3.js",revision:null},{url:"/js/527.ce9c6f5b.js",revision:null},{url:"/js/542.f23f30aa.js",revision:null},{url:"/js/55.0b2854d8.js",revision:null},{url:"/js/598.23ac0c5a.js",revision:null},{url:"/js/786.ae8e6688.js",revision:null},{url:"/js/877.c7c757f0.js",revision:null},{url:"/js/954.4e5d738e.js",revision:null},{url:"/js/962.5b893867.js",revision:null},{url:"/js/app.8f86902a.js",revision:null},{url:"/js/chunk-vendors.f9c92b56.js",revision:null},{url:"/json.worker.js",revision:"05d8b81fd1169400d26f6edc947df6b4"},{url:"/livedata/milestones.js",revision:"3e4f97afe866dbc61b23cb935ff4bf15"},{url:"/livedata/stars.js",revision:"1a7aac00ca8c09c379825ce59f574a37"},{url:"/manifest.json",revision:"a0ca7123d147fae4ec52a28fd583347f"},{url:"/pyworker/py_worker.js",revision:"82d4c93b7e35d7d1d673b1179a4456c1"},{url:"/pyworker/runRobot.py",revision:"a1eef85782cfb2f9ecfa388808216850"},{url:"/robot-framework-open-space.ics",revision:"086a76b11f1997cdce31cdb5d5cf262d"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"}],{})})); +if(!self.define){let e,s={};const r=(r,i)=>(r=new URL(r+".js",i).href,s[r]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=r,e.onload=s,document.head.appendChild(e)}else e=r,importScripts(r),s()})).then((()=>{let e=s[r];if(!e)throw new Error(`Module ${r} didn’t register its module`);return e})));self.define=(i,n)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let a={};const c=e=>r(e,o),f={module:{uri:o},exports:a,require:c};s[o]=Promise.all(i.map((e=>f[e]||c(e)))).then((e=>(n(...e),a)))}}define(["./workbox-db5fc017"],(function(e){"use strict";e.setCacheNameDetails({prefix:"robot-framework"}),self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"/404.html",revision:"f4e3edb53349945387e617abbd0fd231"},{url:"/CNAME",revision:"b9d1ce36b74077687fa96cd27a1498fa"},{url:"/code/hello-world/keywords.resource",revision:"6cfa3d85c9c3399ff28d5d16951e7a42"},{url:"/code/hello-world/test.robot",revision:"0c283be998710a0b4c72707af3f66bca"},{url:"/css/509.88b59296.css",revision:null},{url:"/css/542.ba620813.css",revision:null},{url:"/css/55.c4976d20.css",revision:null},{url:"/css/app.0a54051d.css",revision:null},{url:"/editor.worker.js",revision:"c32a55f347a96275d8a6d9059c2795a7"},{url:"/example/example.robot",revision:"07d51baeb8298ae3bbe4968fe36bae50"},{url:"/example/log.html",revision:"8805923876cc017f9cdd63be6841955f"},{url:"/example/resource.robot",revision:"27b05d6207e9a2ebffecfc564ea1cbb4"},{url:"/fonts/CourierCode-Bold.5fb0947e.woff",revision:null},{url:"/fonts/CourierCode-Italic.3d7db8fe.woff",revision:null},{url:"/fonts/CourierCode-Roman.9e9c7312.woff",revision:null},{url:"/fonts/OCRA2.ea4aa5c0.woff",revision:null},{url:"/fonts/codicon.d1e7e26c.ttf",revision:null},{url:"/html.worker.js",revision:"b4c801e64dbad5482a140a91a963c0b1"},{url:"/img/Calendar.svg",revision:"8297cf2cf2a9fc56bd612112f636de30"},{url:"/img/Gmail.svg",revision:"9dbc79dab48422c821c75bbfc21165ec"},{url:"/img/RF-white.svg",revision:"5f61873d6ea9fe47b23c09528ee13efd"},{url:"/img/RF.svg",revision:"719774271ca4c3ae003b0d126dbe61b9"},{url:"/img/Slack.svg",revision:"f5fe2f626289d9e83ecc84a66537c631"},{url:"/img/TestCon-banner.png",revision:"35f368300314648d0cac13d302d76e90"},{url:"/img/carousel-company-icons/ABB.svg",revision:"660a75426749f1aeb4bae22bef2c4757"},{url:"/img/carousel-company-icons/Cisco.svg",revision:"6c68e1e0c5fa2dd9a55e77e5efd49382"},{url:"/img/carousel-company-icons/Condé_Nast.svg",revision:"e9bb142c55103dae3e4f2ea3eff28dca"},{url:"/img/carousel-company-icons/Finnair.svg",revision:"e76aacb26c092c3ed28d4b4da1df3448"},{url:"/img/carousel-company-icons/Juniper_Networks.svg",revision:"951b8992fdff194268841e73210ef775"},{url:"/img/carousel-company-icons/Kone.svg",revision:"7dcc5efb197b559a82ef1f7f6bdbef0f"},{url:"/img/carousel-company-icons/Naval_Research_Laboratory.svg",revision:"3b7e5ca1c422df2ad38698fb7fbcbf80"},{url:"/img/carousel-company-icons/Nokia.svg",revision:"f6bf0ff4f4a0afef6a189e6e312d2bf9"},{url:"/img/carousel-company-icons/Vero.svg",revision:"8fd65193ed5fc664766b4b16ed195e97"},{url:"/img/sponsors/abb.png",revision:"0a9db72ee03d319f6e142cfeface2fbd"},{url:"/img/sponsors/aktia.png",revision:"3514f30854191f82482b140c5f075537"},{url:"/img/sponsors/alten.png",revision:"0d5a572056f1b4f9cb4cf29c4f539402"},{url:"/img/sponsors/ams_osram.png",revision:"68bdbd1c0e7b4d8688bb5e922872daff"},{url:"/img/sponsors/arvanto.png",revision:"bf69b37f0e13603a0a35ef9253e17c78"},{url:"/img/sponsors/botlabs.png",revision:"e6ff1102d99f99b3fe44701b3228ab6a"},{url:"/img/sponsors/capgemini.png",revision:"be1579d0ace1098deca10d22477f5df3"},{url:"/img/sponsors/cgi.png",revision:"645e2435cd2154bec4fad0f2cc5ac920"},{url:"/img/sponsors/checkmk.png",revision:"991cab1fb8017421e0a019dd6a5ef039"},{url:"/img/sponsors/cisco.png",revision:"3be0556b34a86bca4a2d37c4736884c8"},{url:"/img/sponsors/comiq.png",revision:"4ab5b1a41fc91884d01f7702d95f92cf"},{url:"/img/sponsors/continero.png",revision:"ad8c2c6586a9128c770d9009c2313083"},{url:"/img/sponsors/dbchenker.png",revision:"e146b53f2a9d8675dc2d4ed21e21af44"},{url:"/img/sponsors/deutschepost.png",revision:"11cf74570cb294534dc73bb4d9428f9f"},{url:"/img/sponsors/digia.png",revision:"acda23bcffacb9c6aadb758823dfd55c"},{url:"/img/sponsors/eficode.png",revision:"cb10b02fa9b2892c65416b09801540fb"},{url:"/img/sponsors/eliga.png",revision:"7e7d036c80dfa8d0d3336e130081c320"},{url:"/img/sponsors/enqore.png",revision:"2c685f2188f4a5c139d89787831b6802"},{url:"/img/sponsors/etteplan.png",revision:"f6a13da34c64233285c951a081210cb5"},{url:"/img/sponsors/eucon.png",revision:"40c2a827da86a4aafbb92f43f8479004"},{url:"/img/sponsors/f2g.png",revision:"33993bc8e3dfb46cbfc826531660039d"},{url:"/img/sponsors/fresenius.png",revision:"a80ff4f5b6e9c855a093e9bd05022596"},{url:"/img/sponsors/gofore.png",revision:"55d22cf97cf2e401aee9af1912188dd6"},{url:"/img/sponsors/henix.png",revision:"58bdc3de455c9f9681bb92e379573559"},{url:"/img/sponsors/humanitec.png",revision:"96c1313a7cba75e1c1f971ba7b310ffa"},{url:"/img/sponsors/imbus.png",revision:"19e2c27266d6b1e631bfd81e85e22706"},{url:"/img/sponsors/ing.png",revision:"2a65d57a9e55aa3efd450131b1f9257e"},{url:"/img/sponsors/knowit.png",revision:"f3b2290a3bc373037f4e92b57ee0f9fb"},{url:"/img/sponsors/kuka.png",revision:"dc8d03bf254829b89bb496d75335c049"},{url:"/img/sponsors/luoto.png",revision:"417736c6bd787b5d027f803304c040c6"},{url:"/img/sponsors/nets.png",revision:"427b91d9c9671b7d0c6f9d4408f9e78b"},{url:"/img/sponsors/nexi.png",revision:"4b4aebde4378be3fa9a8f78ff8ed1a5d"},{url:"/img/sponsors/nokia.png",revision:"d76cc3b486b15210dc3946982650619b"},{url:"/img/sponsors/nordea.png",revision:"de949e93e5e45f3d57a41b8976ff926b"},{url:"/img/sponsors/northcode.png",revision:"c6c07d650b12ebf20e81def92bff7e5f"},{url:"/img/sponsors/op.png",revision:"fd1caeb4e836c6619d207d2d6bcd39c4"},{url:"/img/sponsors/opuscapita.png",revision:"cf2c220b73c2b7351539bb420edc5212"},{url:"/img/sponsors/oura.png",revision:"68a837d2f4d6087491453ed1981c5d37"},{url:"/img/sponsors/posti.png",revision:"a6fa4fa9a9a78b5a3762f053a34d92f8"},{url:"/img/sponsors/prove.png",revision:"4dc6134102c19d4bc5ed9fdba7e99a00"},{url:"/img/sponsors/provinzial.png",revision:"626b27648b30c6abdc83702e63f887ab"},{url:"/img/sponsors/qentinel.png",revision:"8508ba8f3b93382dc3a215a78af94d25"},{url:"/img/sponsors/qfactory.png",revision:"2689e451486a32d337ac9d7849d0d88a"},{url:"/img/sponsors/qubilea.png",revision:"c935701b5f0b128379cce60eb45277f7"},{url:"/img/sponsors/reaktor.png",revision:"76d024a86c588f900414396b6dd7f632"},{url:"/img/sponsors/relex.png",revision:"ae61cc2b49ec0711fe0244c048313333"},{url:"/img/sponsors/robocorp.png",revision:"b7620c520b6e5998c11aefe584be7fbc"},{url:"/img/sponsors/rpamaker.png",revision:"ea33553faee89090d9063a40ed0025c5"},{url:"/img/sponsors/segron.png",revision:"c2e95d0ac2edc1df646c84efc0cb52d7"},{url:"/img/sponsors/seppmed.png",revision:"d9d29e5b63fb22d5f813fd7594fbbc7a"},{url:"/img/sponsors/signant.png",revision:"5bd7dbb03d17708e48876902147db1fb"},{url:"/img/sponsors/siili.png",revision:"8eb43b1e87cf29bca83c08f5fdeda825"},{url:"/img/sponsors/simplr.png",revision:"42cb39e2c740143eb668896b9c454aaa"},{url:"/img/sponsors/slsp.png",revision:"e330985e072738a7cf0d7513e6add29f"},{url:"/img/sponsors/smartdocs.png",revision:"a9b217da635c8cac709c9fabee3b13cc"},{url:"/img/sponsors/smartsynergies.png",revision:"45f6383db0a9adbda64e149769f1fea7"},{url:"/img/sponsors/symbio.png",revision:"5933162db8921dfe6a1ac908cf667930"},{url:"/img/sponsors/testimate.png",revision:"3d6e6244e513c5080b6c999a47a8571c"},{url:"/img/sponsors/tietoevry.png",revision:"17b01c8a2b4e4714c531b4fdcfc44744"},{url:"/img/sponsors/vala.png",revision:"f164dec9ef5d0c4a38e3980cd2ae5b25"},{url:"/img/sponsors/veikkaus.png",revision:"11c51d416f4935b2506de47076421432"},{url:"/img/users/TMAlogo.png",revision:"ab1c2ac61c147ec13366859ead20c80c"},{url:"/img/users/abb.png",revision:"30b9ae29fdb770386a10505c28ce1e5d"},{url:"/img/users/accruent.png",revision:"0c8cd2f7c7d13fc9c2722c210c6fd0a4"},{url:"/img/users/adwisit.png",revision:"1a937cd6845de281b5a2d8b52223e4e4"},{url:"/img/users/alfastrahovanie.png",revision:"d00d5e840793602dd02f72ba0e100f1e"},{url:"/img/users/alpha.png",revision:"851f771e4c3a08cb0ef23ef20bdbbf73"},{url:"/img/users/altran.png",revision:"eea588f1ec68c6e2b8a64e8ba9e9935a"},{url:"/img/users/axon.png",revision:"e66c5c895d2f9953def585e657095e9b"},{url:"/img/users/cenx.png",revision:"9b47df952bc8bef8e14aca838a6c2b4e"},{url:"/img/users/cisco.jpg",revision:"561a2eacde6cee827152b4d15de618be"},{url:"/img/users/condenast.png",revision:"f1eda50a24e2e0d9328375ab469b7429"},{url:"/img/users/etteplan.png",revision:"ae5842cf3b4b0523bf28b40e0fad03a2"},{url:"/img/users/ficosa.png",revision:"1093ebc1a633f9169f9a3df415a88745"},{url:"/img/users/finnair.png",revision:"799259a9c8a4dcfb58cfddcec256cd52"},{url:"/img/users/flipdish.png",revision:"9f3a1fa9fe4ee6a25ed44b61f26f1625"},{url:"/img/users/heymath.png",revision:"0e77772c90edcef853a45b051abca478"},{url:"/img/users/juniper.png",revision:"6aaaa24bdff78d3c51e1aad96e6046bc"},{url:"/img/users/kistler.svg",revision:"4dec06408ae185f309078cebab488cb7"},{url:"/img/users/kone.png",revision:"43e803812387d235a7d514962bbb1ba1"},{url:"/img/users/log.png",revision:"ab587a922b8bef36ba5b8b96c208edcc"},{url:"/img/users/lucid.png",revision:"e5a526690a06eb936b7f4c9a2a0ef4aa"},{url:"/img/users/medical_billing.png",revision:"df9801550c25fa48a25e7b8aa6bf21d8"},{url:"/img/users/metso.png",revision:"26c286c5193563c3ab4e4771e3468df3"},{url:"/img/users/mews.png",revision:"77f8ef7053bb63961a62ac5933f34b42"},{url:"/img/users/nokia.png",revision:"cb6a5a48e56fd3d02e5b06d6470d82d7"},{url:"/img/users/nrl.png",revision:"6b3bf8f89f1afead9999359659ebc18d"},{url:"/img/users/open_drives.png",revision:"1e538e1997870446989afa874dd8f5f5"},{url:"/img/users/opendaylight.png",revision:"31b609fd95098ff0b2d1e8732251b9a0"},{url:"/img/users/opuscapita.png",revision:"c74fa5ca276241fe4aac648c280702dd"},{url:"/img/users/oriental.png",revision:"373a479a28abea67c3d42785995c30e8"},{url:"/img/users/qahive.png",revision:"cab625b4ac80905e936501c167120f0d"},{url:"/img/users/rocla.png",revision:"c9afd34313e9547d204a221427f9d390"},{url:"/img/users/runwhen.png",revision:"43387346635124cb01b205c8de516cbe"},{url:"/img/users/ryerson.png",revision:"45a1c1546066749bb5102850c9d73cac"},{url:"/img/users/salicru.png",revision:"4b404a006a3c8aab8b0fe9a74b508d35"},{url:"/img/users/segron.png",revision:"7dbe39df5d78333785ec15e7b9f8f334"},{url:"/img/users/smartsynergies.png",revision:"45f6383db0a9adbda64e149769f1fea7"},{url:"/img/users/spectrum.png",revision:"8fc815d97406dad569842089b19718be"},{url:"/img/users/steeri.png",revision:"023acb9de5fccefde17a0734f8028848"},{url:"/img/users/tesena.png",revision:"93750eec16f7fe7af8e117f85992868c"},{url:"/img/users/testmo.png",revision:"c214b4f266c1c0a6003ad6b5090aff7c"},{url:"/img/users/tmu_logo.png",revision:"a7897d08f5b77dcaefe64c18bbdcd054"},{url:"/img/users/vero.png",revision:"f33a2db0ec1e1eb28cf4e5528e379855"},{url:"/img/users/zilogic.png",revision:"aab2dc63e9d21482c592885e457fa661"},{url:"/img/users/zymr.png",revision:"ea8d35aa7923bd438a426cfe36898768"},{url:"/index.html",revision:"78d495cbbabf4dcd9d351b916ec3413c"},{url:"/js/111.a3b7f122.js",revision:null},{url:"/js/271.948b6974.js",revision:null},{url:"/js/341.41664356.js",revision:null},{url:"/js/48.3a91f0b3.js",revision:null},{url:"/js/527.ce9c6f5b.js",revision:null},{url:"/js/542.f23f30aa.js",revision:null},{url:"/js/55.0b2854d8.js",revision:null},{url:"/js/598.23ac0c5a.js",revision:null},{url:"/js/786.ae8e6688.js",revision:null},{url:"/js/877.c7c757f0.js",revision:null},{url:"/js/954.4e5d738e.js",revision:null},{url:"/js/962.5b893867.js",revision:null},{url:"/js/app.8496aead.js",revision:null},{url:"/js/chunk-vendors.f9c92b56.js",revision:null},{url:"/json.worker.js",revision:"05d8b81fd1169400d26f6edc947df6b4"},{url:"/livedata/milestones.js",revision:"3e4f97afe866dbc61b23cb935ff4bf15"},{url:"/livedata/stars.js",revision:"1a7aac00ca8c09c379825ce59f574a37"},{url:"/manifest.json",revision:"a0ca7123d147fae4ec52a28fd583347f"},{url:"/pyworker/py_worker.js",revision:"82d4c93b7e35d7d1d673b1179a4456c1"},{url:"/pyworker/runRobot.py",revision:"a1eef85782cfb2f9ecfa388808216850"},{url:"/robot-framework-open-space.ics",revision:"086a76b11f1997cdce31cdb5d5cf262d"},{url:"/robots.txt",revision:"b6216d61c03e6ce0c9aea6ca7808f7ca"}],{})})); diff --git a/src/content/resources/learning.js b/src/content/resources/learning.js index 87b24bce0..affcda287 100644 --- a/src/content/resources/learning.js +++ b/src/content/resources/learning.js @@ -29,11 +29,6 @@ export default () => ([ description: 'Generic Robot Framework introduction slides.', href: 'https://www.slideshare.net/pekkaklarck/robot-framework-introduction' }, - { - name: 'RPA tutorials', - description: 'Robocorp RPA tutorials, courses, and guidelines', - href: 'https://robocorp.com/docs/courses' - }, { name: 'Robot Framework katas', description: 'Series of exercises and examples how to get started with test automation. No prior knowledge of test automation required.', @@ -59,11 +54,6 @@ export default () => ([ description: 'This simple example demonstrates how to use C language from Robot Framework test libraries.', href: 'https://bitbucket.org/robotframework/cdemo' }, - { - name: 'Demo: Robot Framework RPA example projects', - description: 'A library of sample RPA projects and code snippets built on Robot Framework', - href: 'https://robocorp.com/portal/' - }, { name: 'Demo: Remote interface', description: 'Example demonstrates how to use Robot Framework\'s Remote interface to call test libraries written in any programming language.', diff --git a/src/content/resources/libraries.mjs b/src/content/resources/libraries.mjs index dbf9b36b1..036f45057 100644 --- a/src/content/resources/libraries.mjs +++ b/src/content/resources/libraries.mjs @@ -204,12 +204,6 @@ export default () => ([ href: 'https://github.com/noubar/RobotFramework-MailClientLibrary', description: 'The Robotframework-MailClientLibrary is a keyword-based mail client library that supports testing of mail protocols, including IMAP, POP3, and SMTP with or without SSL connection.', tags: ['mail', 'imap', 'smtp', 'pop3', 'ssl'] - }, - { - name: 'RPA framework', - href: 'https://github.com/robocorp/rpaframework', - description: 'Collection of open-source libraries and tools for Robotic Process Automation (RPA), designed to be used both with Robot Framework and Python.', - tags: ['rpa'] }, { name: 'SapGuiLibrary', @@ -217,6 +211,12 @@ export default () => ([ description: 'Testing the SAPGUI client using the internal SAP Scripting Engine', tags: ['ui', 'sap'] }, + { + name: 'RoboSAPiens', + href: 'https://github.com/imbus/robotframework-robosapiens', + description: 'RoboSAPiens is a library for automating the Windows SAP GUI. Its key innovation (compared to SapGuiLibrary) is that UI elements can be selected using the texts in the GUI. No need to use a third-party tool to find some XPath-like selectors. Moreover, RoboSAPiens is under active development.', + tags: ['ui', 'sap'] + }, { name: 'ScreenCapLibrary', href: 'https://github.com/rticau/ScreenCapLibrary', diff --git a/src/content/resources/tools.mjs b/src/content/resources/tools.mjs index fe253c1bd..69cfdd24f 100644 --- a/src/content/resources/tools.mjs +++ b/src/content/resources/tools.mjs @@ -59,12 +59,6 @@ export default () => ([ href: 'https://github.com/nokia/RED', tags: ['editor'] }, - { - name: 'Language Server for VS Code', - description: 'VS Code LSP extension - syntax highlight, linting, code completion, debugging, and more', - href: 'https://marketplace.visualstudio.com/items?itemName=robocorptech.robotframework-lsp', - tags: ['editor'] - }, { name: 'Language Server for PyCharm', description: 'PyCharm LSP plugin - syntax highlight, code completion, and other LSP features for PyCharm.',