python自动化框架pycharm_python 3.6 + robotFramework自动化框架 环境搭建、学习笔记

内容简介: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资讯^_^

为你推荐:

相关软件推荐:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值