robot framework笔记(一):环境配置(基于python3)+在pycharm中编写及运行robot脚本
(一)使用pip安装robotframework框架和seleniumlibrary库
pip install --upgrade robotframework
pip install --upgrade robotframework-seleniumlibrary
可以再安装一个测试数据编辑器(编辑器中直接运行就可以打开图形界面)
pip install robotframework-ride
(二)配置pycharm
1、路径:File-Setting-Plugins-Browse Repositories ,安装intelliBot,安装成功后,重启IDE


2、配置外部工具,路径File-Setting-Tools-External Tools(运行单个robot文件)
名字随便取,工具设置参考下面的配置就行了
Program: python安装目录\Scripts\robot.exe
Arguments:-d C:\Home\计算机编程\Python\site\schl_recuit\report "$SelectedText$" (不加-d也行,加这个指定测试报告生成目录)
Working directory:$FileDir$

3、配置外部工具,路径File-Setting-Tools-External Tools(运行测试套件)

4、路径:file-setting-editor-file types,配置文件类型。找到robot feature,新增*.robot和*.txt的文件类型

5、配置完成后,就可以直接在pycharm中编写脚本并运行了

(三)简单的示例(进入博客园登录页面,输入账户、密码,点击登录)
注:还有一个肯定要配置的环境就是浏览器相应版本的驱动,从网上下载一个,然后在环境变量加上驱动的路径就行了
。这个就不重复说明了,不知道的可以去看下我之前的python+selenium笔记(二)的内容,或者网上直接搜索就行了,很容易找到。
1、创建一个*.robot的文件,python3中,官方的建议是使用*.robot的文件格式。前面的配置没错的话,应该可以看到下面这种图标。

2、编写脚本
#setting部分导入测试库、资源文件、变量文件、初始化测试套件和用例等
*** Settings ***
Library SeleniumLibrary #variables部分定义需要使用的变量
*** Variables ***
${VOLID_USER} 1111
${VOLID_PASSWORD} 2222 ${LOGIN_URL} https://www.cnblogs.com/ ${LOGIN_LING} //a[@onclick="login();return false"] #主页面登录链接xpth
${USER_LOCAL} input1 #登录页面账户名输入框ID
${PASSWORD_LOCAL} input2 #登录页面密码输入框ID
${LOGIN_BTN} signin #登录按钮ID #testcase部分编写测试用例
*** Test Cases ***
Invlid Login
Open Brower To Home Page
Go To Login Page
INPUT USER NAME ${VOLID_USER}
INPUT PASSWORD ${VOLID_PASSWORD}
CLICK BUTTON ${LOGIN_BTN} #keyword部分,对框架已经实现的关键字进行组合,创建自己的关键字
*** Keywords ***
Open Brower To Home Page
OPEN BROWSER ${login_url} Chrome
MAXIMIZE BROWSER WINDOW
Home Page Should Be Open Go To Login Page
CLICK LINK ${LOGIN_LING}
LOGIN PAGE SHOULD BE OPEN Home Page Should Be Open
TITLE SHOULD BE 博客园 - 代码改变世界 Login Page Should Be open
TITLE SHOULD BE 用户登录 - 博客园 Input User Name
[Arguments] ${USERNAME}
WAIT UNTIL ELEMENT IS VISIBLE ${USER_LOCAL}
INPUT TEXT ${USER_LOCAL} ${USERNAME} Input Password
[Arguments] ${PASSWORD}
WAIT UNTIL ELEMENT IS VISIBLE ${PASSWORD_LOCAL}
INPUT TEXT ${PASSWORD_LOCAL} ${PASSWORD}

3、运行

4、另外说明下,robot常用的关键字主要在下面2个模块中定义,其中BuiltIn是框架内置的,不需要导入,会自动生效。要使用SeleniumLibrary库的关键字的话,需要在setting部分先导入SeleniumLibrary库。

BuiltIn

SeleniumLibrary.keyword

可以去里面看下实现,比较快熟悉,例如OPEN BROWSER关键字,第二个参数是url,并且必须要指定一个。第三个参数,默认用火狐浏览器打开。

robot framework笔记(一):环境配置(基于python3)+在pycharm中编写及运行robot脚本的更多相关文章
- Robot Framework 安装及环境配置
Robot Framework 安装及环境配置 Robot Framework 介绍 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以 ...
- Robot Framework 教程 (1) - 环境配置及简单网站兼容性测试
0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用 ...
- Robot Framework 使用【1】-- 基于Python3.7 + RIDE 最新版本搭建
前言 Robot Framework作为公司能快速落地实现UI自动化测试的一款框架,同时也非常适合刚入门自动化测试的朋友们去快速学习自动化,笔者计划通过从搭建逐步到完成自动化测试的过程来整体描述它的使 ...
- Robot Framework 使用1-环境配置及简单网站兼容性测试(转)
0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用 ...
- Robot Framework 的安装和配置(转载)
Robot Framework 的安装和配置 在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定.本文以在有 Python 的环 ...
- Robot Framework 的安装和配置
Robot Framework 的安装和配置 在使用 RF(Rebot framework)的时候需要 Python 或 Jython 环境,具体可根据自己的需求来确定.本文以在有 Python 的环 ...
- Robot Framework自动化_环境搭建以及第一个用例
Robot Framework自动化_环境搭建以及第一个脚本 培训老师:肖能尤 2016/06/07 课程目的 一.Robot framework 环境搭建以及第一个脚本 课程内容 1 安装前准 ...
- 【转存】阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3
阿里云服务器下 LAMP 环境配置 —— 基于 CentOS 6.3 Posted on 2016年2月10日 by 学院君 1.Apache 配置 —————————————————– vi / ...
- Qt5学习笔记(1)-环境配置(win+64bit+VS2013)
Qt5学习笔记(1)-环境配置 工欲善其事必先-不装-所以装软件 久不露面,赶紧打下酱油. 下载 地址:http://download.qt.io/ 这个小网页就可以下载到跟Qt有关的几乎所有大部分东 ...
随机推荐
- Java核心技术及面试指南 2.3.6 String相关的面试题答案
2.3.6.1 String是最基本的数据类型吗?能不能被继承? String不能被继承,它是一个对象 2.3.6.2 String s = new String("xyz");创 ...
- sql server 日志文件结构及误操作数据找回
一. 概述 在sql server 里有数据文件.mdf和日志文件.ldf,日志文件是sqlserver数据库的另一个重要组成部分,日志文件记录了所有事务以及每个事务对数据库所做的修改.为了提高数据库 ...
- 微信小程序onLaunch异步,首页onLoad先执行?
本来按照事件顺序,小程序初始化时触发App里的onLaunch,后面再执行页面Page里的onLoad,但是在onLaunch里请求获取是否有权限,等待返回值的时候Page里的onLoad事件就已经执 ...
- MySQL 通讯协议
Client/Server 通讯协议用于客户端链接.代理.主备复制等,支持 SSL.压缩,在链接阶段进行认证,在执行命令时可以支持 Prepared Statements 以及 Stored Proc ...
- MySQL中字段字符集不同导致索引不能命中
今天写了一个sql,其中涉及的表中的数据量都差不多为50w左右,查询发现用了8s.这个只是测试服上数据,放到正式服上,肯定一运行就挂了. SELECT Orders. NO, GuidNo, Orde ...
- Java网络编程的Java流介绍
前言 网络程序所做的很大一部分工作都是简单的输入输出:将数据字节从一个系统移动到另一个系统.Java的I/O建立于流(stream)之上.输入流读取数据,输出流写入数据.过滤器流(filter)流可以 ...
- http无状态协议,cookie和session详解(一)
1.HTTP无状态协议 首先看百度百科给出的定义: HTTP无状态协议,是指协议对于事务处理没有记忆能力.缺少状态意味着如果后续处理需要前面的信息,则它必须重传, 这样导致可能每次连接传送的数据量增大 ...
- 深入MySQL复制(一)
本文非常详细地介绍MySQL复制相关的内容,包括基本概念.复制原理.如何配置不同类型的复制(传统复制)等等.在此文章之后,还有几篇文章分别介绍GTID复制.半同步复制.实现MySQL的动静分离,以及M ...
- [转]virtualBox实现主机和虚拟机相互ping通,配置静态IP地址
本文转自:https://blog.csdn.net/u010486658/article/details/70871940 背景: 需要在linux上安装软件用来练习,但是需要将安装包发送到linu ...
- 【转载】Sqlserver阻止保存要求重新创建表的更改
在Sqlserver创建完表table后,后续维护过程中有时候需要往表格中新增字段,在表设计窗体中新增字段后保存,有时候会直接抛出错误信息,提示“不允许保存更改,您所做的更改要求删除并重新创建以下表” ...