概述
内容简介:python 3.6 + robotFramework自动化框架 环境搭建、学习笔记 #################################################################
#author: 陈月白
#_blogs: http://www.cnblogs.com/chenyuebai/
#################################################################
一、环境搭建
概览:win 7+ python 3.6 + pycharm + robotframework + IntelliBot
1.安装相关的库
依次安装:
pip install robotframework
https://pypi.python.org/pypi/selenium/ #依赖包
https://pypi.python.org/pypi/robotframework-seleniumlibrary #依赖包
https://pypi.python.org/pypi/robotframework-selenium2library
2.pycharm
开发IDE, 略
3. IntelliBot pycharm开发插件【语法高亮】
方法1:pycharm>File>setting>Plugins>Browse reponsitories
方法2:https://plugins.jetbrains.com/plugin/7386-intellibot 下载至本地
pycharm>File>setting>Plugins>install plugin from disk
4.pycharm配置执行器
File>setting>Tools>External tool,配置完成后即可在.robot文件中选择使用该执行器执行
Parameters:当前文件路径
Working directory:工作路径,日志、结果输出等,如下:
注:log.html 执行日志
output.xml 执行相关信息的xml,可用于后续二次解析
report.xml 执行结果报表
二、使用cmd执行
运行一条用例:
pybot --test test_case test_suit.robot
运行指定文件:
pybot test_suit.robot
运行当前目录下以.robot为后缀名的测试文件
pybot *.robot
运行当前testpath目录下的所有用例
pybot testpath
三、案例脚本(.robot文件)基本语法
1.基本语法
*** Settings ***
Library MyLib #导入自定义的库
Library Selenium2Library
*** Test Cases ***
#第一行为固定格式,标识
#建议同 python 一致,使用tab缩进对齐(pycharm中设置tab=4空格),否则可能报执行失败,报 "Test case contains no keywords"
case1 helloworld #案例名
log chenyuebai first rfw case #log 相当于python的print,可在生成的log.xml中查看
case 2 log #打异常日志,支持多种级别
log test line 2 ERROR
case 3 varible
${myname} Set variable chen #定义变量
log my name is ${myname} #使用变量
#case 4 use varible #变量作用域为其定义所在的案例(case3),否则报"Variable '${myname}' not found."
# log ${myname}
case 5 Catenate
${hi1} Catenate hello world #定义变量方式2 连接两个对象,支持自定义连接符
log ${hi1}
${hi2} Catenate SEPARATOR=---- hello world
log ${hi2}
case 6 list
@{mylist} create list a b c #定义列表
log many @{mylist} #打印列表中的元素
case 7 get time
${currentTime} get time #获取当前时间 2018-01-02 18:05:47
log ${currentTime}
${currentYear} get time format=year #支持多种传参,详情看函数定义
log current year is ${currentYear}
case 8 sleep
log get time
sleep 1 #睡眠,等同于python的time.sleep(5)
log get time
case 9 if
${score} set variable 55
run keyword if ${score}>=90 log 优秀
... ELSE IF ${score}>=70 log 良好 #ELSE/ELSE IF要大写。。。语法很蛋疼。。为啥不直接套用python的语法。。
... ELSE log 很差 # ... 不知道基于什么考虑的。。看起来像是标识属于“run keyword if”这个判断逻辑;类似python的tab?
case 10 for #for循环,注意需要使用来标识这个for循环范围,感觉和上面的...类似
:FOR ${i} IN RANGE 5 # for in in range(5):
log ${i} # print(i)
case 11 allround the list
@{myList} create list 1 2 3 4 # myList = [1,2,3,4]
:FOR ${i} IN @{myList} # for i in myList:
log ${i} # print(i)
case 12 Evauate #调用python中的方法,很强大
${randomNum} EVALUATE random.random() random #变量 关键字EVALUATE 调用python的方法 方法所在的库名
log ${randomNum}
case 13 call my python #导入自定义库,下面有详细说明
${nowTime} get current time
log ${nowTime}
case 14 Comment
log start
#line 1
comment line 2 #标明注释:使用关键字或者#均可
log end
case 15 Selenium2Library #Selenium2Library库,操作浏览器,可作web界面自动化,待细化
open_browser http://www.baidu.com firefox
Input text id=kw 陈月白
click button id=su
sleep 3
close Browser
2.robot文件中调用自定义库
Selenium2Library提供了很多的方法,但在实际使用中仍有部分场景需要自行编写,robotFramework支持导入用户自定义的库。
以我的目录结构为例:
(1)自定义方法所在的文件:MyRobotFrameworkLib.py
import time
class MyRobotFrameworkLib():
def __init__(self):
pass
#获取当前时间
def get_current_time(self):
current_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
return current_time
(2)创建MyLib.py
"""
继承自定义库中的类,rfw会解析类中的函数作为关键词
网上也有说此文件应命名为 __init__.py,但我试了,不行
.robot文件执行时报导入失败,看起来像是必须文件名和类名相同(当前是这么处理的)
"""
from MyRobotFrameworkLib import *
class MyLib(MyRobotFrameworkLib):
ROBOT_LIBRARY_SCOPE = "GLOBAL"
(3).robot文件导入自定义类、使用类中的方法
*** Settings ***
Library MyLib #导入自定义的库
case 13 call my python
${nowTime} get current time
log ${nowTime}
3.使用Selenium2Library进行web界面自动化测试
#todo
20180126
以上所述就是小编给大家介绍的《python 3.6 + robotFramework自动化框架 环境搭建、学习笔记》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
关注我们,获取更多IT资讯^_^
为你推荐:
相关软件推荐:
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
最后
以上就是清爽小伙为你收集整理的python自动化框架pycharm_python 3.6 + robotFramework自动化框架 环境搭建、学习笔记的全部内容,希望文章能够帮你解决python自动化框架pycharm_python 3.6 + robotFramework自动化框架 环境搭建、学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复