当前位置: 首页 > news >正文

做点心的网站室内设计案例分析

做点心的网站,室内设计案例分析,商业网站策划书模板范文,wordpress 4.4一、用例编写基本规范 1、 fixture 测试夹具 使用 TestCafe 编写测试用例,必须要先使用 fixture 声明一个测试夹具,然后在这个测试夹具下编写测试用例,在一个编写测试用例的 js 或 ts 文件中,可以声明多个测试夹具 fixture(测试…

一、用例编写基本规范

1、 fixture 测试夹具

使用 TestCafe 编写测试用例,必须要先使用 fixture 声明一个测试夹具,然后在这个测试夹具下编写测试用例,在一个编写测试用例的 js 或 ts 文件中,可以声明多个测试夹具

  • fixture(测试夹具)的声明 import 'testcafe' // 声明一个测试夹具 百度测试 fixture `登录功能测试` 上面是官方文档中的 demo,调用 fixture 方法声明测试夹具的时候,使用的是模板字符串传参的形式,对于没用过这种语法的小伙伴来说看起来不太好理解,可以按下面这个使用括号调用函数的形式来写。 import 'testcafe' // 声明一个测试夹具 新浪测试 fixture('注册功能测试')
  • fixture.page 方法: 通过 fixture.page 方法,我们可以在测试夹具打开一个要进行测试的页面 fixture('百度登录测试').page('https://www.baidu.com');

2、test 测试函数

2.1、测试用例编写

  声明了测试夹具之后,就可以定义测试用例了,在testcafe中写测试用例,直接调用测试函数test, 并传递一个内部带有测试代码的函数即可 。
  import 'testcafe'
// 在测试夹具中打开百度页面
fixture('百度案例').page('https://www.baidu.com');// 第一条用例:百度输入 学习点击搜索
test('用例1', async t => {await t.typeText('#kw', "学习").click('#su');
});// 第二条用例:百度输入 python 点击搜索
test('用例2', async t => {await t.typeText('#kw', "python").click('#su');
});
  • 关于上面测试函数 test 调用的说明 test 方法的第一个参数为测试用例的名称,第二个参数是写测试代码的函数 关于参数 t: 在 testcafe 中 所有测试动作都需要使用 测试控制器对象的异步功能来实现。箭头函数定义的参数 t 就是用来接收测试控制器对象的。 上面写测试代码的函数是使用 async/await 语法定义的函数,这也是 testcafe 的推荐写法,在执行相关测试动作时,如果要等待前一个动作执行完成,再调用下一个动作或动作链,只需要进行等待的动作前面加上关键字 await 即可。

2.2、指定测试开始页面

在 fixture 中可以通过 page 方法去打开一个测试的初始页面,当然在 test 方法中如果不用 fixture 打开的初始页面,也可以使用 tes.page 自定义一个测试初始打开页面,如下:

  fixture(`百度案例`).page `https://www.taobao.com`;test.page('https://www.baidu.com')('百度搜索功能', async t => {await t.typeText('#kw', "hao123").click('#su');
});

二、测试前后置处理

在工作中执行测试时,大多数的用例执行,都会有一些用例前置准备或者后置清理工作要去做。关于前后置处理的方法,我们称之为钩子函数,testcafe 提供了两种钩子,一种叫测试钩子,一定叫固定钩子。

1、测试钩子

测试钩子指的是每一条测试用例执行之前和执行之后,会执行的钩子函数,我们称之为测试钩子,关于测试钩子 Testcafe 提供了如下四个方法。

  • fixture.beforeEach 方法

测试夹具 fixture 提供了一个 beforeEach 方法,可以给该 fixture 中的每一条测试用例设置前置执行的操作。案例代码如下:

  import 'testcafe'fixture(`百度案例`).page('https://www.baidu.com')// 设置每条用例执行的前置操作.beforeEach(async t => {await t.typeText('#kw', "前置步骤").click('#su')});
  • fixture.afterEach 方法
  fixture(`百度案例`).page('https://www.baidu.com')// 设置每条用例执行的前置操作.beforeEach(async t => {await t.typeText('#kw', "前置步骤")}).afterEach(async t => {await t.typeText('#kw', "后置步骤").click('#su')});

上面这两种方法可以给通过测试夹具 fixture 给该夹具下的每条用例设置前后置操作。如果某一条用例需要单独的设置前后置,则需要使用 test.before 方法和 test.after 方法。

  • test.before 方法

给单独的用例设置前置操作

  test.before(async t => {await t.typeText('#kw', "test设置的前置")})('百度搜索功能', async t => {await t.typeText('#kw', "python").click('#su');})
  • test.after 方法

给单独的用例设置后置操作

  test.before(async t => {await t.typeText('#kw', "test设置的前置")})('百度搜索功能', async t => {await t.typeText('#kw', "python").click('#su');}).after(async t => {await t.typeText('#kw', "后置方法中输入的内容").click('#su');})   
  • 测试钩子和测试代码之间共享数据 如果需要在测试钩子和测试代码直接共享数据的话,我们可以通过测试上下文(t.ctx 属性)来进行传递。在测试钩子中将数据保存到测试上下文中,在测试方法中再去测试上下文中获取数据。具体案例如下: test.before(async t => { // 在测试钩子中通过t.ctx保存数据 t.ctx.token = 'musen123' }) ('百度搜索功能', async t => { // 测试钩子中通过t.ctx获取数据 console.log(t.ctx.token) })

2、夹具钩子

  夹具钩子和测试钩子不同,夹具钩子只会在夹具中的第一个测试开始之前和最后一个测试完成之后运行。要添加夹具钩子,可以使用fixture.before和fixture.after方法来定义定义。另外在夹具钩子中无法访问测试页面,也无法对测试页面进行相关操作。
  • fixture.before 方法
  fixture(`百度案例`)
.page('https://www.baidu.com')
.before( async ctx => {// 前置夹具钩子console.log(ctx)
})
  • fixture.after 方法
  fixture(`百度案例`)
.page('https://www.baidu.com')
.after( async ctx => {console.log(ctx)// 后置夹具钩子
});
  • 夹具钩子和测试代码之间共享数据 传递给 fixture.before 和 fixture.after 方法的钩子函数接收一个夹具上下文的参数 ctx。需要进行数据传递时,我们可以在夹具钩子中把数据保存到 ctx 的属性中。在测试代码中使用 t.fixtureCtx 来获取。案例代码如下:
  fixture(`百度案例`).before(async ctx  => {// 夹具钩子中保存数据ctx.someProp = 123;})test('Test1', async t => {// 测试代码中获取数据console.log(t.fixtureCtx.someProp); 
});

三、跳过和选择用例

1、跳过用例

  在执行测试的时候,如果说有用例不想执行,那么我们可以设置跳过用例执行。关于跳过用例执行testcafe中提供了fixture.skip 和test.skip方法。
  • fixture.skip:跳过整个 fixture 的用例
  • test.skip:跳过当前的测试用例 // 跳过夹具F1中所有的用例 fixture.skip('F1'); test('F1-->用例1', async t => { }); test('F1-->用例2', async t => { }); fixture('F2'); // 跳过这一条用例 test.skip('F2-->用例1', async t => { }); test('F2-->用例1', async t => { });

2、选择用例

另外我们也可以使用 fixture.only 和 test.only 来筛选执行需要的用例,只有选择的用例或夹具运行,而所有其他应被跳过

  • fixture.only:选择执行的测试夹具
  • test.only:选择执行的测试用例 // 选择F1这个测试夹具 fixture.only('F1'); test('F1-->用例1', async t => { }); test('F1-->用例2', async t => { }); fixture('F2'); // 选择这一条用例 test.only('F2-->用例1', async t => { }); test('F2-->用例1', async t => { });

以上就是 testcafe 中用例编写的所有内容啦,后续会持续更新 TestCafe 的相关使用文档。

http://www.yayakq.cn/news/224102/

相关文章:

  • 如何做好一个外贸网站的编辑深圳便宜做网站
  • 常州网站推广多少钱网站开发作业总结
  • 淘宝联盟如何做网站建站容易吗
  • 英文外贸网站建设高端网站开发平台
  • 手机系统网站迅速上排名网站优化
  • 网站推广有哪些公司可以做深圳网站建设推广方法
  • 佛山移动网站建设公司广东搜索引擎优化
  • 电子商务网站建设卷子备案域名查询
  • 德芙巧克力网站开发方案打广告专用图
  • 静安正规的设计公司网站企业网站源码 可去版权
  • 找人做seo要给网站程序百度安全中心
  • 网站推广方式推荐企业咨询公司名称大全
  • 郑州网络推广哪家厉害wordpress数据库优化2018
  • flash美食网站论文wordpress 数据库备份插件下载
  • 南城网站建设公司企业大学网站建设计划
  • 做门窗投标网站网站数据分析
  • 成都网站建设科技做外贸需要哪些网站有哪些
  • 廊坊网站建设费用旅游平台网站合作建设方案
  • 烟台网站优化公司网站建设平台用乐云践新
  • 有哪些可以在线做app的网站有哪些问题微商城开发报价
  • 毕设源码网站企业邮箱怎么认证
  • 关于文艺网站建设政策大岭山营销型网站建设
  • 吉安建设公司网站蔡甸城乡建设局网站
  • 有名的wordpress网站扬中百事通
  • 西安未央网站建设做公司网站需要准备什么资料
  • nginx优化wordpress网站速度免费ppt模板网站下载
  • 产品价格的网站建设京东关键词优化技巧
  • 河南住房和城乡建设部网站首页常州网站建设找思创
  • 关键词采集网站自学网站有哪些
  • 免费下载代码的网站西部域名网