最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Puppeteer+Mocha+Chai端到端测试

    正文概述 掘金(temorou)   2021-01-14   590

    目录结构

    Puppeteer+Mocha+Chai端到端测试

    登录

    加个最外层的before,判断没登陆过就登录,登录后把window,page,route,router,store挂在全局上

    (对Puppeteer封装处理的方式,在这里)

    login.js

    const {run} = require('nine-nine-six');
    
    before(function() {
    	return new Promise(function (resolve, reject) {
    		//登录过,就不执行
    		if(global.window){
    			resolve()
    			return
    		}
    		run({
    			url:'http://localhost:8080',
    			chromeUrl:'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'
    		},function (res) {
    			//window,page,route,router,store
    			let {window,page,route,router,store} = res
    			let login = page.findVueNode({
    				tag:'Login'
    			})
    			//vue router前置钩子
    			router.beforeEach((to, from, next)=>{
    				global.route = to
    				next()
    			})
    			let form =  login.form
    			form.userName = 'xx'
    			form.password = 'xx'
    			form.vcode = 'xx'
    			//登录
    			login.handleSubmit()
    			//全局设置window,page,route,router,store
    			Object.keys(res).forEach(key=>{
    				global[key] = res[key]
    			})
    			resolve()
    		})
    	})
    })
    

    把expect设成全局的

    setup.js

    const chai = require('chai');
    
    global.expect = chai.expect;
    

    测试代码

    delivery.spec.js

    describe('test Delivery',()=>{
      //测试前,路由跳转到要测试的页面
      before(function () {
        router.push({
          name:'Delivery',
        })
      })
      it('test page title',() => {
        expect(window.document.title).to.be.equal('DeliveryTitle');
      })
      it('route name',() => {
        expect(route.name).to.be.equal('Delivery');
      })
      it('test FormItem label',() => {
        let FormItem = page.findVueNode('FormItem')
        expect(FormItem.label).to.be.equal('item label');
      })
    })
    

    测试命令:mocha --require setup login specs --recursive -t 0

    demo地址


    起源地下载网 » Puppeteer+Mocha+Chai端到端测试

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元