behave 测试框架,了解一下
# behave测试框架
[behave](https://pythonhosted.org/behave/)是python的1个bdd测试框架实现。
### 安装
```
pip install behave
```
### 教程
[英文教程](https://pythonhosted.org/behave/tutorial.html)
### 使用behave重构wordpress测试用例
框架目录
wordpress_bdd
-features # feature和step的存放路径
- steps # steps存放路径
- lib # 公共库路径
- pages # po 路径
- create_post_step.py # 具体的step文件
- login-step.py
- environment.py # 配置文件
- login.feature # 具体的feature文件
- create_post.feature
-report # 测试报告目录
定义login.feature
```
Feature: Login
@login # 定义tag是login
Scenario: Success
Given go to login page
When login with admin admin
Then redirect to dashboard page
And display hello admin
```
定义测试步骤login_step.py
```python
from behave import *
from pages import login_page
@given(u'go to login page')
def step_impl(context):
context.login_page = login_page.LoginPage(context.dr)
context.login_page.url = context.login_page.domain + 'wp-login.php'
context.login_page.navigate()
@when(u'login with {user_name} {password}')
def step_impl(context, user_name, password):
context.dashboard_page = context.login_page.login(user_name, password)
@then(u'redirect to dashboard page')
def step_impl(context):
assert 'wp-admin' in context.dr.current_url
@then(u'display hello {user_name}')
def step_impl(context, user_name):
greeking_link = context.dashboard_page.greeking_link
assert user_name in greeking_link.text
```
运行,注意一定要在wordpress_bdd路径下
```
behave -t login --junit
```
上面的命令表示运行tag是login的用例并输出junit格式测试报告
### 总结
behave的功能相当丰富健全,希望大家可以深入研究并集成到自己的测试框架中去。
更多wordpress bdd实例代码请查看src/wordpress_bdd路径。
behave 测试框架,了解一下的更多相关文章
- 收藏清单: python测试框架最全资源汇总
xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...
- 转 python测试框架最全资源汇总
转自: http://www.testclass.net/list/python_list_1/ xUnit frameworks(单元测试框架) frameworks 框架 unittest - p ...
- python测试框架&&数据生成&&工具最全资源汇总
xUnit frameworks 单元测试框架frameworks 框架unittest - python自带的单元测试库,开箱即用unittest2 - 加强版的单元测试框架,适用于Python 2 ...
- phpunit 测试框架安装
PHPUnit是一个轻量级的PHP测试框架.它是在PHP5下面对JUnit3系列版本的完整移植,是xUnit测试框架家族的一员(它们都基于模式先锋Kent Beck的设计).来自百度百科 一.下载wg ...
- 某互联网后台自动化组合测试框架RF+Sikuli+Python脚本
某互联网后台自动化组合测试框架RF+Sikuli+Python脚本 http://www.jianshu.com/p/b3e204c8651a 字数949 阅读323 评论1 喜欢0 一.**Robo ...
- selenium测试框架使用xml作为对象库
之前已经写过一篇: selenium测试框架篇,页面对象和元素对象的管理 上次使用的excel作为Locator对象管理,由于excel处理不够方便,有以下缺点: 不能实现分page 加载Locato ...
- selenium 测试框架中使用grid
之前的测试框架:http://www.cnblogs.com/tobecrazy/p/4553444.html 配合Jenkins可持续集成:http://www.cnblogs.com/tobecr ...
- selenium测试框架篇,页面对象和元素对象的管理
前期已经做好使用Jenkins做buildhttp://www.cnblogs.com/tobecrazy/p/4529399.html 做自动化框架,不可避免的就是对象库. 有一个好的对象库,可以让 ...
- Junit测试框架 Tips
关于Junit测试框架使用的几点总结: 1.Junit中的测试注解: @Test →每个测试方法前都需要添加该注解,这样才能使你的测试方法交给Junit去执行. @Before →在每个测试方法执行前 ...
随机推荐
- linux下的定时或计时操作(gettimeofday等的用法,秒,微妙,纳秒(转载)
一.用select()函数实现非阻塞时的等待时间,用到结构体struct timeval {},这里就不多说了. 二.用gettimeofday()可获得微妙级(0.000001秒)的系统时间,调用两 ...
- pyspider用PyQuery解析页面数据
示例说明: 本示例主要是PyQuery解析返回的response页面数据.response.doc解析页面数据是pyspider的主要用法,应该熟练掌握基本使用方法.其他返回类型示例见后续文章. py ...
- inux下安装ab
1,APR 下载地址:http://apr.apache.org/download.cgi 1)tar -zxf apr-1.4.5.tar.gz ./configure --prefix=/u ...
- 基于Nginx简单实现动静分离
1.首先安装Nginx 2.在Nginx.conf文件中添加如下配置: server{ listen 80; server_name www.lf.com; location ~ (.jpg|.png ...
- PyGrub
from:https://wiki.debian.org/PyGrub Using pyGRUB on Wheezy to boot a domU kernel Using pyGRUB from x ...
- c语言学习笔记 for循环的结构
其实感觉for循环没有while循环那么直白好理解. for(i=0;i<n;i++) { dosth(); } i=0是i的初始值. i<n是循环进行的条件. i++是每次循环要做的事情 ...
- 627D Preorder Test
传送门 题目大意 给出一棵无根树,每个节点有一个权值,现在要让dfs序的前k个结点的最小值最大,求出这个值.分析 首先可以对这个值v进行二分然后01分数规划现在问题转化为求出一个dfs序,使得dfs序 ...
- jq一行一行循环读取table中的元素
获取当前tr行号,可依据index 获取当前tr对象 获取某一tr下td的内容
- Spring--入门第二天
一.通过工厂方法配置bean Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. 工厂 Bean 跟普通Bean不同, 其返回的对象不是 ...
- 第02章-装配Bean
1. Spring配置的可选方案 在XML中进行显式配置: 在Java中进行显式配置: 隐式的bean发现机制和自动装配. 2. 自动化装配bean Spring从两个角度来实现自动化装配: 组件扫描 ...