​❤  大家好!我是虫兵   ❤~

一个混迹过各大小厂的资深测试开发工程师,千人经验的面试官,

做一些回馈社区力所能及的事情:坚持为应届毕业生提供简历指导及职业规划建议!坚持无偿为初中级测试工程师提供问题解答!

让分享成为一种美德!

❤  此系列文章敢说全网最干最全的 behave 教程文章,跟下来必有所得!❤

以后的文章增加 Python 冷知识环节,因为 Python 我觉得对测试同学实在是太友好了。

Python 小知识- Python 语言的诞生背景

Python 最初开发于荷兰阿姆斯特丹的一所研究机构,即 CWI,这是一个荷兰语缩写,意思是数学和计算机科学研究学会,1982年python 之父到 CWI 上班,那时才刚毕业,一开始是在 Lambert Meertens 和 Steven Pemberton 领导下的 ABC 语言组做程序员。Python 是其在 CWI 工作经验的直接产物。ABC 语言提供了灵感。之所以开发 Python,是感觉 Amoeba 项目需要一门高级编程语言。用 C 语言写系统管理程序太慢,而且因为各种各样的原因,很多程序在 Bourne shell (译注:Version 7 Unix默认的Unix shell)里无法运行。更关键的是,作为一种全新设计的分布式微内核系统,Amoeba 的很多基本操作(元操作 | primitive operations)与 Bourne shell 支持的操作有很大区别(粒度更细)。因此需要一门语言来作为“C语言与shell之间的桥梁”——很长一段时间内,所有人都是这么认为。从此python就诞生了。
以上内容来自 python 之父的博客由作者本人翻译及整理,希望大家可以了解下 Python 一些背后故事,会感觉很有趣

前情提要

测试工程师进阶,从 0-1 学习 Cucumber 之基于 behave 自动化测试教程(三)

上集内容我们主要讲了,behave 框架的环境搭建 及 behave 的一些 demo 介绍,本章内容我们继续对 behave 的用法进一步补充,本章完结后,我们会通过一个 demo 项目,完整的展示下行为驱动开发自动化框架 behave 的使用, come on ! ~~

更多 behave 使用方式

上节内容我们看到,我们执行 behave 是通过 behave 的命令行,而不是 main 方法,通过命令行执行是官方提供的方式,那么 behave 命令行执行都包括什么功能呢? 今天我们介绍一些比较常用的。

当然他也是可以和 刚才 behave + 目录 这种方式结合执行,比如: behave features/demo1 --tags run_only_this ,只会跑 demo1 目录下 tag 为 run_only_this ,大家灵活掌握

环境控制

behave 提供是通过一个 environment.py 的固定 py 模块 在执行测试的过程中过程前或者过程后用户可以自定义代码逻辑来控制你的测试 case,如图需要把 environment.py 加到你的根目录下进行使用:

那么环境控制都支持哪些情况可以嵌入自定义代码呢?

我们可以在 environment.py 干什么事呢?比如,官网给的例子,我们一般在 UI 自动化可能会频繁的启动或者关闭浏览器就可以通过 environment.py 中设置

更多用法可以参考:
https://behave.readthedocs.io/en/stable/behave.html
https://behave.readthedocs.io/en/stable/api.html

预告

基于 behave 的用法基本就完结了,下一期会写一个简单的 demo 框架,用来串一下 之前所有的内容,欢迎想学习 behave 自动化同学可以互相交流~ 如果你会 python 我也推荐你利用 python bdd 插件以这种方式去实现自动化 case。 bdd 模式如果用一段时间还是觉得很爽的。分层清晰!

往期内容:

测试工程师进阶,从 0-1 学习 Cucumber 之基于 behave 自动化测试教程(三)

技术交流、应届生简历 review, 初中级问题解答 VX:1010584905


↙↙↙阅读原文可查看相关链接,并与作者交流