20190923-基于Python3的RobotFramework的配置是初次使用
因为最近改自动化框架在网上找了很多框架,发现RobotFramework不错,但是网上的资料很杂,现在将自己配置框架的学习笔记分享
Python配置RobotFramework的seleniumlibrary
前置条件:已安装python3
第一步:安装RobotFramework
cmd命令输入:python -m pip install robotframework
第二步:安装seleniumlibrary
cmd命令输入:py -m pip install --upgrade robotframework-seleniumlibrary
第三步:安装Test_Case编辑器
Python2使用的RIDE编辑器不支持python3,python3可用的编辑器包括Atom、Eclipse、Notepad++、IntelliJ IDEA、Sublime text 、Vim 都可以找到对应的插件,这里使用Notepad++
Step1: 下载插件包,下载地址https://github.com/vkosuri/npp-robot/archive/master.zip
Step2: 解压缩
Step3:在NotePad++里面点击语言->自定义语言格式->导入,选择导入step2解压缩文件中的lang-robot.xml
安装完成后Notepad++显示如下:

RobotFramework的seleniumlibrary使用
RobotFramework 用户手册
https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html
RobotFramework 的seleniumlibrary关键字手册
列举了可以用的关键字
https://robotframework.org/SeleniumLibrary/SeleniumLibrary.html
RobotFramework的seleniumlibrary测试用例构成
测试用例格式如下:
————————————————————————————————————
*** Settings***
个空格分隔
Library seleniumLibrary
*** Variables ***
个空格分隔
${LOGIN URL} http://www.baidu.com
${BROWSER} Firefox
${SEARCH_TEXT} 何发奋学习robot框架
*** Test Cases ***
,关键字操作所需要的参数2。。。
关键字 操作值 操作值 操作值
*** Keywords ***
关键字名称
,关键字操作所需要的参数2。。。
关键字 操作值 操作值 操作值
————————————————————————————————————
配置
定义的格式如下:
————————————————————————————————————
*** Settings ***
Library seleniumLibrary
————————————————————————————————————
指定测试用例执行使用的库,是一个py文件,文件里面定义了对应的关键字方法
变量
定义的格式如下:
————————————————————————————————————
*** Variables***
${LOGIN URL} http://www.baidu.com
${BROWSER} Firefox
${SEARCH_TEXT} 何发奋学习robot框架
————————————————————————————————————
格式为变量名,变量值
测试用例
定义的格式如下:
————————————————————————————————————
*** Test Cases ***
测试用例名称
关键字 操作值 操作值 操作值
————————————————————————————————————
其中关键字操作操作的参数可能是0个也可能是多个,调用的时候首选找Keywords模块是否有对应的关键字,如果没有,再在seleniumLibrary里面找
关键字
定义的格式如下:
————————————————————————————————————
*** Keywords ***
关键字名称
关键字 操作值 操作值 操作值
————————————————————————————————————
在测试用例里面定义了关键字后具体运行顺序:
1. 首先会去keywords里面找对应的关键字
2. 如果keywords里面有对应的关键字,调用对应的关键字(来源于seleniumLibrary提供的库)
3. 如果keywords里面没有对应的关键字,则直接调用对应的关键字(来源于seleniumLibrary提供的库)
基于seleniumlibrary实例
编写测试用例文件如下:

将该文件以.robot为后缀保存

保存后在对应该文件目录的下进入cmd模式,执行python -m robot testbaidu.robot

查看执行结果

查看report.html文件

点击对应的测试集

点击对应的testcase

因为要验证页面显示“何发奋学习robot框架”验证失败,失败截图如下

20190923-基于Python3的RobotFramework的配置是初次使用的更多相关文章
- Sublime Text 2 (for OS X )配置成可以运行基于python3解释器的 .py文件
Mac自带的python 其version是python 2.7 官网下的Sublime Text 2部署好了以后默认也是 为了使ST2 可以在command+B时可以运行基于python3的.py, ...
- 基于Python3 + OpenCV3.3.1的远程监控程序
基于Python3 + OpenCV3.3.1的远程监控程序 一.环境配置 OpenCV是一个基于(开源)发行的跨平台计算机视觉库,利用OpenCV能够实现视频图像的捕获. 关于python3中Ope ...
- 从零学习基于Python的RobotFramework自动化
从零学习基于Python的RobotFramework自动化 一. Python基础 1) 版本差异 版本 编码 语法 其他 2.X ASCII try: raise Type ...
- 基于Python3 + appium的Ui自动化测试框架
UiAutoTest 一.概要 数据驱动的Ui自动化框架 二.环境要求 框架基于Python3 + unittest + appium 运行电脑需配置adb.aapt的环境变量,build_tools ...
- django中基于python3.6使用容联发送短信
一. Django基于python3.6使用容联发送短信流程 容联官方的python支持2.7版本,当我们python解释器采用3版本时,需要修改容联接口中的一些参数及方法. 首先去容联官网注册账号, ...
- xml配置和基于java类的bean配置搭配使用
如果同时使用了xml配置,和java类的bean配置(当然估计项目中一般不会这样), 在初始化容器指定资源文件的时候可能会比较麻烦 此时我们可以把基于java类的bean配置整合到xml中,或xml的 ...
- springmvc国际化 基于浏览器语言的国际化配置
当前标签: springmvc springmvc国际化 基于浏览器语言的国际化配置 苏若年 2013-10-09 13:03 阅读:305 评论:0 SpringMVC中应用Ajax异步通讯 ...
- 开涛spring3(12.4) - 零配置 之 12.4 基于Java类定义Bean配置元数据
12.4 基于Java类定义Bean配置元数据 12.4.1 概述 基于Java类定义Bean配置元数据,其实就是通过Java类定义Spring配置元数据,且直接消除XML配置文件. 基于Java ...
- Nginx--服务部署、基于域名的虚拟主机配置
一.服务部署 1.预处理 安装CentOS ,配置hosts.静态IP.设置必要的安全参数等(略) 1-1.系统环境 [root@vnx ~]# cat /etc/redhat-release Cen ...
随机推荐
- PHP流程控制之if语句多种嵌套
王思总同学我们在最开始的故事中讲到了他有两个秘书:一个生活秘书.一个工作秘书. 王思总同学在出行和项目中也是极度有计划性.他给自己的生活秘书和工作秘书分别指派了出差的行程:大理石平台支架 生活上: 先 ...
- LOJ P10163 Amount of Degrees 题解
每日一题 day6 打卡 Analysis 题目的意思是找在区间[x,y]之间满足能够由k个b的不同次幂相加得到的数的总数.这题的关键是转换进制,之前几道题我们保存的是数的每位数,其实也就是10进制, ...
- 十一.简单MariaDB数据库的管理
默认端口:3306 1.安装 ]# yum -y install mariadb-server ]# systemctl restart mariadb 2.基本操作 ]# mysql #进入 ]&g ...
- TensorFlow(九):卷积神经网络
一:传统神经网络存在的问题 权值太多,计算量太大 权值太多,需要大量样本进行训练 二:卷积神经网络(CNN) CNN通过感受野和权值共享减少了神经网络需要训练的参数个数. 三:池化 四:卷积操作 五: ...
- mysql my.cnf文件
一.mysqld组值设置: 1.user = mysql #启动mysql的用户.2.pid-file = /var/run/mysqld/mysqld.pid #指定pid文件.3.socket = ...
- AT2306 Rearranging
有一个显然的,就是不互质的数的相对位置是不会改变的,那么我们把它们放到一个连通块里面去,然后我交换就是交换两个里面最小的对吧.直接连起来然后跑\(TopSort\)就行了. #include<s ...
- Mybatis使用IN语句查询
一.简介 在SQL语法中如果我们想使用in的话直接可以像如下一样使用: select * from HealthCoupon where useType in ( '4' , '3' ) 但是如果在M ...
- Tcl循环语句
for 开始 判断语句 变量自增(自检) 循环体 示例代码: for {set i 0} {$i<10} {incr i} { puts "I is: $i " } 运行结果 ...
- Arts打卡第8周
Algorithm.主要是为了编程训练和学习. 每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard). 进行编程训练,如果不训练你看再多的算法书,你依然不 ...
- Multiple commands produce "*.framework"
参考链接记录个问题,这是xcode10后新build系统导致的,新系统帮我们检查了很多东西,最优化我们的构建, 两种方案 1.用旧的系统(不推荐) 2.这个是build setting->b ...