Mocha:第一个UI自动化case

Mocha

Mocha(发音"摩卡")诞生于2011年,是现在最流行的JavaScript测试框架之一,在浏览器和Node环境都可以使用。

mocha提供了BDD(Behavior Driven Develop)和TDD(Test Driven Develop)风格的接口,默认是BDD风格的。

mocha的特点主要有:

  • 既可以测试简单的JavaScript函数,又可以测试异步代码,因为异步是JavaScript的特性之一;
  • 可以自动运行所有测试,也可以只运行特定的测试;
  • 可以支持before、after、beforeEach和afterEach来编写初始化代码。

BDD风格主要提供以下6个接口before()、after() 、beforeEach() 、afterEach() 、describe()、it()。

其中before() 、after() 、beforeEach() 、afterEach() 是用于预处理和test后的处理。
before:在执行所有的测试用例前 函数会被调用一次;
after:在执行完所有的测试用例后 函数会被调用一次;
beforeEach:在执行每个测试用例前 函数会被调用一次;
afterEach:在执行每个测试用例后 函数会被调用一次;
describe:声明了一个测试集合,describe是可以嵌套的;
it:声明定义了一个具体的测试用例,一个it对应一个实际的test case;

Test Hooks方法的几个注意点:
· beforeEach会对当前describe下的所有子case生效;
· before和after的代码没有特殊顺序要求;
· 同一个describe下的执行顺序为before、beforeEach、afterEach、after;
· 当一个it有多个before的时候,执行顺序是从最外围的describe的before开始,其他同理。

官方文档 : https://mochajs.org/

How to create a project

  • Install node JS environment first
  • mkdir [your_project_name]
  • npm init -y
  • npm i --save-dev @wdio/cli
  • mkdir -p ./test/specs
  • use npx wdio wdio.conf.js to create the wdio.conf.js

IDE : Vscode

npm

在正式开始Node.js学习之前,我们先认识一下npm
npm其实是Node.js的包管理工具(package manager)

我们在Node.js上开发时,会用到很多别人写的JavaScript代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm安装就可以直接用,不用管代码存在哪,应该从哪下载。

更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,靠我们自己手动管理,肯定既麻烦又容易出错。

其实npm已经在Node.js安装的时候顺带装好了。我们在命令提示符或者终端输入npm -v,应该看到类似的输出:

C:\>npm -v
4.1.2

如果直接输入npm,你会看到类似下面的输出:

C:\> npm
Usage: npm <command>
where <command> is one of:

上面的一大堆文字告诉你,npm需要跟上命令。现在我们不用关心这些命令,后面会一一讲到。目前,你只需要确保npm正确安装了,能运行就行。

knowledge about webdriver

we can use the APIs (https://webdriver.io/docs/api.html) to:

relate elements: xpath, css selector
control some browser’s API: visit url, maximize window
simulate the mouse actions: click, hover
wait until: displayed, clickable, enabled, exist
get the attributes of elements, browser

指定需要运行的case:

在这里插入图片描述

First PageObject

import BasePageObject from 'xxxxx/dist'
 
export default class L
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值