RobotFramework + Python 自动化入门 三 (Web自动化)
在《RobotFramwork + Python 自动化入门 一》中,完成了一个Robot环境搭建及测试脚本的创建和执行。
在《RobotFramwork + Python 自动化入门 二》中,对RobotFramework的关键字使用和查看源码进行了介绍。
本节,介绍基于Web的RF自动化。
一、环境配置
1. 下载浏览器驱动程序
执行web端的测试脚本时,需要浏览器驱动,不同浏览器对应不同的驱动程序。
浏览器的驱动版本 要和 浏览器版本号对应或适配。
Chrome driver下载地址:http://npm.taobao.org/mirrors/chromedriver/
或百度搜索其他下载方式。
我的Chrome版本号为91.0.4472.106, 故下载最接近的chromedriver。


下载完成后放入Python安装目录(或者其他文件夹,但该文件夹要加入path路径)。

2.安装selenium库
安装命令(安装最新版): pip install robotframework-seleniumlibrary
指定版本号安装:pip install robotframework-seleniumlibrary==3.3.1

3. 添加依赖库
在RF项目中添加selenium library。
方法一:
双击打开red.xml文件,点击+按钮添加library。

选择Python安装目录下的 \Lib\site-packages\SeleniumLibrary 文件夹中的__init__.py文件。

选择第一个SeleniumLibrary,点击OK。

SeleniumLibrary添加成功。

点击保存按钮或 CTRL+S 快捷键。
Project目录下多了一个Robot Referenced libraries目录,SeleniumLibrary是其子目录,所有添加的第三方依赖都在这个目录下。

方法二:
右键 red.xml文件,点击Open With>Text Editor,以文本格式打开red.xml文件。

在red.xml文件中添加下方内容,保存:
<referencedLibrary type="PYTHON" name="SeleniumLibrary" path="D:/Program Files/Python39/Lib/site-packages/SeleniumLibrary"/>

4. 编码格式设置
在写中文环境的测试脚本时,经常会用到中文,故要设置编码格式为UTF-8。
如果不设置,当脚本中存在中文,执行脚本(robot文件)会报错。
而且若只设置了单个项目的编码格式为UTF-8,在console界面会发现中文字符仍显示为乱码,故要设置整个workspace的编码格式。
设置方法:
菜单栏Window > Preferences > General > Workspace。

二、设计测试脚本
1. 引入SeleniumLibrary
当使用第三方库时,必须在文件中使用Library关键字 引入相应的库名。

2. 设计测试脚本
测试脚本流程如下:
1.打开谷歌浏览器,进入百度页面
2.搜索框中输入selenium
3.点击搜索按钮
4.页面搜索结果标题应包含selenium
5.关闭浏览器
测试脚本:
Baidu Search - Selenium
Open Browser http://www.baidu.com chrome # chrome表示启动谷歌浏览器
Wait Until Element Is Visible css=#kw # css=#kw是搜索框的locator,css表示locator使用的是css定位方式
Input Text css=#kw selenium # css=#kw是输入框的locator
Click Button css=#su
Sleep 3
Element Text Should Be xpath=//h3[@class='t c-gap-bottom-small']/a/em selenium #xpath=//h3[@class='t c-gap-bottom-small']/a/em 是xpath格式的locator
Close Browser

Locator " xpath=//h3[@class='t c-gap-bottom-small']/a/em" 的含义如下:

3. 执行脚本
选择脚本文件,右键执行,或者直接点击工具栏”执行‘按钮。

执行结果如下:

RobotFramework + Python 自动化入门 三 (Web自动化)的更多相关文章
- 3.Python爬虫入门三之Urllib和Urllib2库的基本使用
1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS.CSS ...
- 转 Python爬虫入门三之Urllib库的基本使用
静觅 » Python爬虫入门三之Urllib库的基本使用 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器 ...
- python爬虫入门三:requests库
urllib库在很多时候都比较繁琐,比如处理Cookies.因此,我们选择学习另一个更为简单易用的HTTP库:Requests. requests官方文档 1. 什么是Requests Request ...
- Python爬虫入门三之Urllib库的基本使用
转自http://cuiqingcai.com/947.html 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由 ...
- RobotFramework + Python 自动化入门 四 (Web进阶)
在<RobotFramwork + Python 自动化入门 一>中,完成了一个Robot环境搭建及测试脚本的创建和执行. 在<RobotFramwork + Python 自动化入 ...
- Python爬虫入门之Urllib库的基本使用
那么接下来,小伙伴们就一起和我真正迈向我们的爬虫之路吧. 1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解 ...
- RobotFramework自动化测试框架-Selenium Web自动化(三)关于在RobotFramework中如何使用Selenium很全的总结(下)
本文紧接着RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)继续分享RobotFramewor ...
- RobotFramework + Python 自动化入门 二 (关键字)
在<RobotFramwork + Python 自动化入门 一>中,完成了Robot环境搭建及测试脚本的创建和执行. 本节,对RobotFramework的关键字使用和查看源码进行介绍. ...
- RobotFramework自动化测试框架-Selenium Web自动化(二)关于在RobotFramework中如何使用Selenium很全的总结(上)
好久没有继续分享关于自动化测试相关的东西了,自动化在现今的测试领域已经越来越重要了,大部分公司在测试岗位招聘中都需要会相关的自动化测试知识.而 RobotFramework自动化测试框架 是自动化测试 ...
随机推荐
- FTP文件上传
一.配置FTP文件服务器 以Ubuntu为例 FTP两种模式简介 PORT(主动模式) 第一步FTP客户端首先随机选择一个大于1024的端口p1,并通过此端口发送请求连接到FTP服务器的21号端口建立 ...
- MySQL修改账号密码方法大全
前言: 在日常使用数据库的过程中,难免会遇到需要修改账号密码的情景,比如密码太简单需要修改.密码过期需要修改.忘记密码需要修改等.本篇文章将会介绍需要修改密码的场景及修改密码的几种方式. 1.忘记 r ...
- Node.js-Events 模块总结与源码解析
Events 描述 大多数 Node.js API 采用异步事件驱动架构,这些对象都是EventEmitter类的实例(Emitter),通过触发命名事件(eventName or type)来调用函 ...
- java的"\\s+"什么意思?
例如:String[] tt=addr.split("\\s+");\\s ==\s 表示转义字符 ,\s表示匹配任意空格(包括空格,制表符,换页符)\\s+中的'+'表示多次匹配
- MSSQL·最长输出长度限制之解决方案
阅文时长 | 0.11分钟 字数统计 | 234.4字符 主要内容 | 1.引言&背景 2.声明与参考资料 原文『MSSQL·最长输出长度限制之解决方案』 编写人 | SCscHero 编写时 ...
- jQurey判断下一项是否为指定项、下一项是否有指定项
jQurey判断下一项是否为指定项.下一项是否有指定项 此例子中,如果某个列表项没有二级列表,那么去掉它的展开.收起按钮.就是前边那个减号. 此时我们需要判断VOC综合治理技术这一项是否含有二级菜单, ...
- Markdown使用概述
Markdown使用概述 序言 作为一名编程学习的爱好者和初学者,由于学习编程的过程中总是存在遗忘以及很难动手写起来的问题,所以在看了许多关于编程学习方法的文章之后,选择使用typora作为我的笔记工 ...
- micro 从cli的tag中获取配置
官方文档: https://micro.mu/docs/go-config.html https://github.com/micro/go-micro/tree/master/config/sour ...
- 1.5 RPM红帽软件包1.6 Yum软件仓库
1.5 RPM红帽软件包 在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件只能采取源码包的方式安装.早期在Linux系统中安装程序是一件非常困难.耗费耐心的事情,而且大多数的服务程 ...
- 更换介质:请把标有Debian ... 的盘片插入驱动器
Debian安装软件报错如下: 更换介质:请把标有 "Debian GNU/Linux 10.8.0 _Buster_ - Official amd64 DVD Binary-1 20210 ...