51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7453|回复: 0
打印 上一主题 下一主题

强大的全新 Web UI 测试框架 Cypress - 只测该测之处

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-4-16 14:17:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在用Selenium、RT或其他web UI自动化工具时,为了保证测试用例的独立性,通常需要做必要setUp和tearDown,比如常见的登录和登出,而用UI来做登录和登出是很耗时的(目前的工具对cookie、localStorage等支持都不够友好),在大量的UI自动化用例运行时,登录和登出耗时比例不可忽视。Cypress基于异步JS实现,几乎可以无限制的操作浏览器存储!真正让你做到“钱(Time)要花在刀刃上”!

自定义登录指令
  1. Cypress.Commands.add('login', (userType, options = {}) => {
  2.   // this is an example of skipping your UI and logging in programmatically

  3.   // setup some basic types
  4.   // and user properties
  5.   const types = {
  6.     admin: {
  7.       name: 'Jane Lane',
  8.       admin: true,
  9.     },
  10.     user: {
  11.       name: 'Jim Bob',
  12.       admin: false,
  13.     }
  14.   }

  15.   // grab the user
  16.   const user = types[userType]

  17.   // create the user first in the DB
  18.   cy.request({
  19.     url: '/seed/users', // assuming you've exposed a seeds route
  20.     method: 'POST',
  21.     body: user,
  22.   })
  23.   .its('body')
  24.   .then((body) => {
  25.     // assuming the server sends back the user details
  26.     // including a randomly generated password
  27.     //
  28.     // we can now login as this newly created user
  29.     cy.request({
  30.       url: '/login',
  31.       method: 'POST',
  32.       body: {
  33.         email: body.email,
  34.         password: body.password,
  35.       }
  36.     })
  37.   })
  38. })
复制代码

调用自定义指令
  1. describe("测试模块名", function() {
  2.   beforeEach(function() {
  3.     cy.login("admin");
  4.   });
  5.   it("测试用例名", function(){
  6.    ....
  7.    // 真正的测试代码
  8.    ....
  9. })
  10. })
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-21 19:14 , Processed in 0.058226 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表