基于behave框架的第三方库

基于behave框架的第三方库介绍

之前的文章介绍了behave的基本信息 BDD-python+behave自动化测试搭建

目前需要自动化测试的场景一般是web ui测试、api接口测试和db数据库测试。针对这个三种场景,behave分别有一些好用的第三方库。

1. web ui 自动测试 – behaving

项目地址:https://github.com/ggozad/behaving

web浏览器上的常规操作基本上都已经实现,直接安装引用即可

  1. 安装

    1
    pip install behaving
  2. 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
    32
    import 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)
  3. step中引用

    1
    2
    3
    4
    5
    6
    7
    from behave import when
    from behaving.web.steps import *
    from behaving.personas.steps import *

    @when('I go to home')
    def go_to_home(context):
    context.browser.visit('https://web/')
  4. 查看所有的可用方法

    1
    behave --steps >steps.log

2. api接口测试 – behave-http

项目地址:https://github.com/mikek/behave-http

web浏览器上的常规操作基本上都已经实现,直接安装引用即可

  1. 安装

    1
    pip install behave-http
  2. environment.py中引用

    1
    from behave_http.environment import before_scenario
  3. step中引用

    1
    2
    3

    from behave_http.steps import *

  4. 查看所有的可用方法

    1
    behave --steps >steps.log

3. db数据库测试 --behave-db

项目地址:https://github.com/M-HALLIDAY/behave-db

web浏览器上的常规操作基本上都已经实现,直接安装引用即可

  1. 安装

    1
    pip install  behave-db
  2. environment.py中引用

    1
    from behave_db import environment as benv
  3. step中引用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    from 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
    """)
  4. 查看所有的可用方法

    1
    behave --steps >steps.log