Robocorp+Robot Framework学习记录【初学者课程:一级课程】

以下内容均来自:https://robotframework.org/?tab=2#getting-started。通过官网的学习和本地实际安装使用体验而来,本文仅记录学习过程。

Robot Framework介绍

Robot Framework 是一个通用的开源自动化框架。它可用于测试自动化和机器人过程自动化 (RPA)。

Robot Framework环境配置及安装

具体请见:Win10环境下安装pytho、pip与Robot Framework

学习过程与等级划分

官方认为Robot Frameword学习分为三个等级:
技术证书(需要编码):
证书一级:初学者课程(完成时间约 2 小时)
二级证书:搭建机器人(完成时间:1-2天)
三级证书:工作数据管理(完成时间:~3 小时)

配置环境、学习Robot结构、了解启动、查看日志

创建账户Robocorp 帐户

注册一个 Robocorp 帐户(通过邮箱直接注册,后面根据自己实际情况填写一些信息)

安装Visual Studio Code

官网推荐使用 “Visual Studio Code”:
从官网安装Visual Studio Code:https://visualstudio.microsoft.com/zh-hans/

在VS Code中安装插件Robocorp Code和Robot Framework Language Server

打开按F1,输入Extensions: Install Extensions
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第1张图片
搜索Robocorp CodeRobot Framework Language Server。直接下载安装
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第2张图片

创建机器人Robot 框架

按下快捷键(Ctrl+Shift+P),并输入:Robocorp: Create Robot.
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第3张图片
第一次使用Robot会有这个弹框,这个是windows系统下默认不允许长文件夹名,开发YES即可
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第4张图片
我提一次构建时出现错误“Unable to activate Robocorp Code extension because python executable from RCC environment was not provided.
这个问题的一般原因是因为网络,使用VPN后构建就没有问题了

Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第5张图片
打开VPN,重启VS Code,再次构建就成功了。之后如下图所示就创建好了Robot,继续选择“Standard Robot Framework template”。
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第6张图片
继续选择“Use workspace folder
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第7张图片
继续选择"Creat Robot Anyway",就完成创建了.Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第8张图片
如下图所示,就说明你创建框架成功了。
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第9张图片

查看 Robot 结构

这是一个最小的Robot结构
如果您的机器人小而简单,并且没有很多库或任务,那么您会以非常小的结构过得很好。

Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第10张图片
要使 robot.yaml有效,它只有两个强制性部分:
至少定义了一项任务,并且必须具有commandshell定义robotTaskName
必须定义工件输出路径。

Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第11张图片

使用 conda 进行环境控制

Conda 提供工具来创建可以使用不同版本的隔离环境,例如 PythonRobot Framework 和大量库。Conda 还提供了无需安装任何操作系统即可“安装”这类东西的工具。这也可以保护运行的实际机器免受污染环境变量等的影响。
示例:拥有一个需要 Python v2.7 和另一个需要 Python 3.8 的机器人可能会很麻烦,因为 Windows PATH 变量将提供最后安装的那个。
在“机器人模板”中可以看到 conda 的使用方式已内置到 Robocorp 工具中。环境在conda.yaml文件中定义。
如果机器人包含conda.yaml文件,则根据给定的配置创建环境。
您可以使用该conda.yaml文件将 conda/pip 包添加到您的运行环境。通过 RCCVS CodeRobocorp Workforce Agent 在运行时都使用此配置,无需任何额外步骤。

Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第12张图片

启动Robot

在安装官方插件之后,conda会对VS上的机器人进行环境上的隔离,我使用的是默认的环境配置。第一次启动可能需要开启VPN下载东西否则报错。

启动方式一(手动按钮)

点击VS左边最下方的小猴子按钮,然后再机器人文件路径下,Run all task 右边点击播放键
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第13张图片

启动方式二(命令启动)

Shift-Command-P(macOS) 或Ctrl+Shift+P(Windows) 打开命令面板。
键入run robot。按Enter运行Robocorp: Run Robot命令。

Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第14张图片

成功启动

Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第15张图片

查看Task日志

运行成功后,会在本地创建 ”output“ 文件夹,文件夹内有 ”log.html“。可以用任何浏览器打开查看

Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第16张图片
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第17张图片

Robot机器人解析

主要是“设置、任务和关键字 ”组成了大部分的 Robot
我创建的简单机器人包括,SettingsTasks 两部分
Settings 部分通常包含文档,可能还有一些库,以及对其他文件的引用。
Tasks 部分定义了机器人的任务。这个机器人有一个任务(它可能有很多)。这个任务的名称是Minimal task。

Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第18张图片
机器人语法是人类可读的!
带有 Robocorp Code 扩展的 VS Code 提供了创建机器人所需的一切。
您可以通过安装扩展来向 VS Code 添加功能。
为了完成任务,机器人调用关键字。如果您熟悉编程,可以将关键字视为函数。关键字为机器人提供了特定的技能。

创建一个打开浏览器的Robot

配置记录(自定义)

*** Settings ***
Documentation Insert the sales data for the week and export it as a PDF.
在这里插入图片描述

定义Task(自定义)

在这里插入图片描述

定义一个行为:“Open the intranet website

在"Tasks"中定义,注意缩进
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第19张图片
因为Robot还不认识你写的任务“Open the intranet website”,所以要声明一个 “Keywords”
在这里插入图片描述

添加依赖-RPA.Browser.Selenium(Open Available Browser)

点击"Keywords"下方灰色字体“Load in interactive Console”,会弹出右边窗口,在 》标记处可搜索需要的Library。
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第20张图片
搜索完后,顶部会出现如下内容Library______RPA.Browser.Selenium,粘贴到"Settings"里即可,注意缩进
在这里插入图片描述

使用库中的关键字-open Available Browser

open Available Browser 写在,keywords定义的行为下,注意缩进
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第21张图片

机器人现状

到目前为止代码如下所示,可直接粘贴替换 (包含SettinsTasksKeywords)

*** Settings ***
Documentation     Insert the sales data for the week and export it as a PDF.
Library           RPA.Browser.Selenium

*** Tasks ***
Insert the sales data for the week and export it as a PDF
    Open the intranet website

*** Keywords ***
Open the intranet website
    Open Available Browser    https://robotsparebinindustries.com/

机器人调试可能出现的问题

如果在调试的过程中,出现如下图红框中所存在的问题:BrowserNotFoundError: Failed to start a browser: - Chrome: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None)) 。
说明:你的ChromeDriver版本和Chrome版本不兼容,下载和Chrome同版本的ChromeDriver并放在Robot同目录下。

这个解决方案说的很详细:https://www.cnblogs.com/blogwangwang/p/9608131.html
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第22张图片

如何保持Robot浏览器一直打开

通常机器人打开了 Web 浏览器,导航到给定的 URL,然后立即关闭了浏览器。如果你的ChromeChromeDriver版本相同,就不是闪退。而是机器人自己关闭了网页。
浏览器的自动关闭是RPA.Browser.Selenium库的默认行为。原因是防止机器人在完成后留下不必要的浏览器进程。

在开发机器人时,让浏览器保持打开状态通常很有用,这样就可以继续自动化流程的下一部分。交互式控制台是一种以小步骤实现机器人并保持浏览器打开的好方法。
从命令面板运行机器人时,如果您想在任务完成后保持浏览器打开,您可以像这样修改库导入(添加auto_close=${FALSE}参数):

Library           RPA.Browser.Selenium    auto_close=${FALSE}

升级机器人:登录内网

查找表单域

登录Web的重点是学习如何查看表单域。

网页是用HTML(超文本标记语言)编写的。它定义了 Web 内容的含义和结构。RobotSpareBin 内部网也是使用 HTML 构建的。要从 HTML 网页中查找表单、字段和其他元素,您的机器人需要知道它们的定位器(有时也称为选择器)。将定位器视为元素的街道地址,例如 RobotSpareBin 内网登录页面上的用户名字段。如果您愿意,您可以在这篇专门的文章中更深入地了解如何在 Web 应用程序中查找界面元素以及定位器的概念。

在网页 https://robotsparebinindustries.com/ 中,可以查找需要填写地方的元素名称:
用户名:username。 密码:password


Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第23张图片

使用输入关键字

只需要在上一个机器人中,添加“Task”和“Keywords”就可以实现对网页的登录。
关键字“ Input Text”、“Input Password”、 “Submit Form”都是库”RPA.Browser.Selenium“里的,不用另外引用依赖。

*** Settings ***
Documentation     Insert the sales data for the week and export it as a PDF.
Library           RPA.Browser.Selenium    auto_close=${FALSE}

*** Tasks ***
Insert the sales data for the week and export it as a PDF
    Open the intranet website
    Log in

*** Keywords ***
Open the intranet website
    Open Available Browser    https://robotsparebinindustries.com/

Log in
    Input Text    username    maria
    Input Password    password    thoushallnotpass
    Submit Form

机器人现状

机器人现在长这个样子:
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第24张图片

升级机器人:填写表单

上一次机器人已经成功登录内网,能看见如下表格。
Robocorp+Robot Framework学习记录【初学者课程:一级课程】_第25张图片

学习查找元素和区域

这是供参考的表单 HTML 标记(这是 Web 浏览器在为您呈现漂亮的网站之前看到的内容):

<form id="sales-form">
  <div class="form-group">
    <label for="firstname">First namelabel
    ><input type="text" id="firstname" name="firstname" required="" class="form-control" />
  div>
  <div class="form-group">
    <label for="lastname

你可能感兴趣的:(学习,python,rpa)