基于behave框架的第三方库
基于behave框架的第三方库介绍
之前的文章介绍了behave的基本信息 BDD-python+behave自动化测试搭建
目前需要自动化测试的场景一般是web ui测试、api接口测试和db数据库测试。针对这个三种场景,behave分别有一些好用的第三方库。
1. web ui 自动测试 – behaving
项目地址:https://github.com/ggozad/behaving
web浏览器上的常规操作基本上都已经实现,直接安装引用即可
安装
1
pip install behaving
在
environment.py
中引用1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32import os
from behaving import environment as benv
PERSONAS = {}
def before_all(context):
import mypackage
context.attachment_dir = os.path.join(os.path.dirname(mypackage.__file__), 'tests/data')
context.sms_path = os.path.join(os.path.dirname(mypackage.__file__), '../../var/sms/')
context.gcm_path = os.path.join(os.path.dirname(mypackage.__file__), '../../var/gcm/')
context.mail_path = os.path.join(os.path.dirname(mypackage.__file__), '../../var/mail/')
benv.before_all(context)
def after_all(context):
benv.after_all(context)
def before_feature(context, feature):
benv.before_feature(context, feature)
def after_feature(context, feature):
benv.after_feature(context, feature)
def before_scenario(context, scenario):
benv.before_scenario(context, scenario)
context.personas = PERSONAS
def after_scenario(context, scenario):
benv.after_scenario(context, scenario)在
step
中引用1
2
3
4
5
6
7from behave import when
from behaving.web.steps import *
from behaving.personas.steps import *
def go_to_home(context):
context.browser.visit('https://web/')查看所有的可用方法
1
behave --steps >steps.log
2. api接口测试 – behave-http
项目地址:https://github.com/mikek/behave-http
web浏览器上的常规操作基本上都已经实现,直接安装引用即可
安装
1
pip install behave-http
在
environment.py
中引用1
from behave_http.environment import before_scenario
在
step
中引用1
2
3
from behave_http.steps import *查看所有的可用方法
1
behave --steps >steps.log
3. db数据库测试 --behave-db
项目地址:https://github.com/M-HALLIDAY/behave-db
web浏览器上的常规操作基本上都已经实现,直接安装引用即可
安装
1
pip install behave-db
在
environment.py
中引用1
from behave_db import environment as benv
在
step
中引用1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24from behave_db.steps import *
def before_all(context):
import behave_db
config_datas = {}
#jdbc-drivers in data_dir
data_dir = os.path.join(
os.path.dirname(behave_db.__file__), "../../tests/data"
)
#set csv-jdbc-config
config_datas['driver_name'] = "org.relique.jdbc.csv.CsvDriver"
config_datas['driver_jar_path'] = os.path.join(data_dir,"drivers","csvjdbc-1.0-37.jar")
config_datas['csv_jdbc_url'] = "jdbc:relique:csv:" + data_dir
config_datas['db_user'] = None
config_datas['db_password'] = None
#copy var to behave_db
benv.before_all(context)
context.db_config = config_datas
def after_scenario(context, scenario):
# auto close connect
context.execute_steps(u"""
When I close the connect
""")查看所有的可用方法
1
behave --steps >steps.log