Python behave in BDD
BDD概念
全称
Behavior-driven development
中文
行为驱动开发
概念
是敏捷软件开发技术的一种,鼓励各方人员在一个软件项目里交流合作,包括开发人员、测试人员和非技术人员或业务参与者。
BDD一开始是由Dan North在2003年作为对TDD的回应而命名的。
Gherkin
是一种语法定义良好的计算机软件设计交流语言。业务人员是不懂技术的,Gherkin使得业务、开发、测试以及其他利益相关人员减少对需产生歧义和误解。
Feature(功能):登录
Scenario(场景):非中国用户不能登录商旅系统
Given(假如):我持有一个未在系统中注册过的账号luoshangyu
When (当):我输入用户名和密码
Then(那么):我将看到一个提示用户名或密码无效的页面
Feature (功能)
功能描述
Scenario (场景)
用户具体使用的场景
Scenario Outline (场景大纲)
场景大纲可以添加相应的变量

Environment(环境变量)
在某些特定代码执行之前运行
比如在一个Feature开始或之后执行
在一个Scenario开始或之后执行
在一个Step开始或之后执行
这里是在一个feature开始及之后执行的例子

Python代码
工程结构

Step.py

中文
运行behave --lang-help zh-CN查看支持的中文关键字
另外查看支持哪些语言,可以运行命令behave --lang-list。(我运行的时候报错)
不过,也可以在behave的工程目录下查看i18n.py文件。


Python3.4要修改behave的runner.py文件,增加字符编码utf-8,否则不能正常运行。
问题如下

修复方法

Python behave in BDD的更多相关文章
- python自动化之BDD框架之lettuce初识问题集
最近在学习虫师老师编写的python自动化的书.其中讲到了BDD结构lettuce入门一章. 因为是小白,按部就班地进行操作,先不谈执行操作如何,先来讲讲遇到的几个坑,和怎么解决的: 第一坑:pyth ...
- 【python】python+behave自动化
留坑,后面再写,先写下request对http请求的校验.
- Behave + Selenium(Python)一:
Behave 介绍:(来自T先生) 最近一个项目用了behave来做测试,因为之前没有接触过,所以写下最近的心得总结. 做自动化的人估计对selenium已经不是很陌生了,但是对于Behave工具,估 ...
- python BDD&TDD
教程一:行为驱动开发(BDD) 基于Python的行为驱动开发实战: http://python.jobbole.com/81303/ 基于Python的行为驱动开发实战 英语原文地址: http:/ ...
- 自动化测试:behave
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- Awesome Python,Python的框架集合
Awesome Python A curated list of awesome Python frameworks, libraries and software. Inspired by awes ...
- 测试人员,今天再不懂BDD就晚了!
首先,测试人员应该参与软件开发的全流程,这一点已经是软件行业的共识了. 其次,新技术.新框架.新思路不断涌现的今天,测试人员除了传统的功能测试,也要不断与时俱进,主动承担起自动化测试.性能测试等.除了 ...
- Awesome Python(中文对照)
python中文资源大全:https://github.com/jobbole/awesome-python-cn A curated list of awesome Python framework ...
- Python BDD自动化测试框架初探
1. 什么是BDD BDD全称Behavior Driven Development,译作"行为驱动开发",是基于TDD (Test Driven Development 测试驱动 ...
随机推荐
- @Data 注解在实体类的使用可省去生成GET,SET方法
你有没有觉得在每个实体类中都要生成get,set方法很麻烦, 要是需求的变化,需要再加一个字段,添加属性后则又要添加其get,set方法 现有一个很好用的注解能解决这个麻烦 1,idea中装上 lom ...
- MD5Util1
package com.cc.hkjc.util; import java.math.BigInteger;import java.security.MessageDigest;import java ...
- hdu2552
点击打开链接 思路: 1.tan(a+b) = ( tan(a) + tan(b) ) / (1 – tan(a) * tan(b) ) 2.tan( atan(x) ) = x arctan(1/s ...
- sublime text 3 安装vue 语法插件
1.下载https://github.com/vuejs/vue-syntax-highlight,点击这里也可以下载压缩包 2.解压到C:\Users\***\AppData\Roaming\Sub ...
- [Selenium] The commonly used validation method
Assert.assertTrue(tmpEl.getAttribute("class").contains("selected"),"The fol ...
- PYTHON路线图
路线图: 第一部分:Python语言基础 第二部分:数据库开发 第三部分:web前端 第四部分:Python web开发 第五部分:Python web项目 第六部分:Linux 第七部分:NoSQL ...
- 构建Docker平台【第一篇】环境准备
主机信息 操作系统版本 CentOS-7-x86_64-Everything-1511 主机A 192.168.6.128 主节点 主机B 192.168.6.129 主节点 主机C 192.16 ...
- sublime 插件:Emmet
Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,比如下面的演示: ...
- Socket教程
Socket网络编程学习笔记(6):使用线程池提高性能 Socket网络编程学习笔记(5):发送和接收实体类数据 Socket网络编程学习笔记(4):TCP消息边界处理 Socket网络 ...
- InstallShield 12 豪华版+破解版 下载
InstallShield 12 豪华版+破解版 下载 2009-07-09 19:18:30| 分类: 默认分类|字号 订阅 InstallShield 12 豪华版+破解版 下载 下载方 ...