技术小白从头开始学习BDD&Python(三)

继续学习python

相信你通过之前的教程已经开始了编程语言的学习,虽然学的是bdd,但是对于python的基本知识还是需要掌握的,不用等到学习完再开始bdd的正式实习和实践,但是不开始也是万万不行的
我使用的是https://www.w3schools.com/,是我觉得最容易上手的网站。

我当时的进度是这样的,属于废人水平,出发半生,归来仍是零基础在这里插入图片描述

但是有了目标,学习就会有奔头,在copy同事代码的同时,不要忘了继续完成目标哦
在这里插入图片描述
在这里插入图片描述

圆规正转

目前能看到同事的代码了,但是有很多文件夹和目录需要搞清楚。
这里给一些tips

常用目录结构

  • 项目目录下创建一个名为"features"的目录(这个目录名称是随意的),可以在这个目录下定义所有behave的文件结构。
  • 在features目录下创建一个".feature"文件,这是一种叫作"Gherkin"语言。“.feature"文件有两个用途:文档和自动化测试,在”.feature"里编写测试场景。
  • feature文件中具体实现是通过此项目下的steps目录里的“.py”文件实现所有的Scenario的步骤。steps目录名是确定的不能改变的,但是里面的py文件名是随意的。
  • "environment.py"中定义操作前和操作后的前置条件和后置条件,和“.feature”文件、steps目录并列在同一目录下,且它的名称必须是environment.py。

Gherkin文件语法介绍

  • Feature:每一个.feature文件必须以关键字Feature开始,Feature关键字之后可以添加该feature的描述
  • Scenario:一个feature可以包含多个Scenario,每一个Scenario都是一个独立可执行的Test
    case,每个Scenario就是该feature的一个测试场景。
  • Given、When、Then、And和But:Scenario中的step
  •  Given:指测试所需要的前提条件
    
  •  When:触发被测试件的执行步骤
    
  •  Then:执行步骤所期待的结果
    
  •  And:用来连接Given的多个条件,When的多个步骤,或者Then的多个期待结果
    
  • Background:将.feature文件中多个scenario的公共step单独列出来。Background必须置于所有scenario之前。在运行时,Background中的步骤会和之前一样在每个scenario起始处被执行。Background关键字并不是必选项,它的存在是为了增加scenario的可读性。
    在这里插入图片描述
  • Scenario Outline 和 Examples: 数据驱动进行测试,可以采用二者进行配合,不能单独使用。
    在这里插入图片描述
  • tags:执行用于标记Feature、Scenario或Scenario Outlook,可以选择性的只执行被标记的。如果执行"Weaker opponent"的case,可以选择执行"behave --tags=slow"来执行。

在这里插入图片描述

steps中方法实现

  • 在steps文件夹中的".py"文件编写相应的实现方法。
    在这里插入图片描述在这里插入图片描述

     参数可以通过{}来传递,如上面的{baidu}
     在py文件中每个步骤下的函数内第一个参数是context,它是Feature或Scenario的实例化,可以用来传递信息。
     text文本在behave中为多行“”“格式,如下方的显示,在方法实现中为"context.text"
    

在这里插入图片描述

table数据是steps中可以通过变量方式调用{x},也可以通过"context.table" 方式来获得table的值

在这里插入图片描述
在这里插入图片描述
environment.py-操作前和操作后的前置条件和后置条件配置

  • before_step(context, step)和after_step(context, step),每一步之前和之后运行
  • before_scenario(context, scenario)和after_scenario(context,
    scenario),每个场景运行之前和之后运行 before_feature(context,
    feature)和after_feature(context, feature),每个feature文件执行之前和之后运行
  • before_tag(context, tag)和after_tag(context, tag),每个标签调用之前和之后运行
  • before_all(context)和after_all(context),整个behave之前和之后运行

在这里插入图片描述

学习的相关文档:

看到这里你一定很迷茫又很失望,想着这个人之前的画风不是这样的啊,我关注你就是为了看你扯犊子的,但是学习本来就是有一些枯燥的事情,读杂志也不能只看后面的数独和笑话。
照着上面的教程对照着自动化文件的结构对照,或者看看公司同事的wiki,什么都急不来哦加油!

  • 44
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值