首页 > 解决方案 > 如果功能失败,如何使量角器测试失败?

问题描述

所以基本上我有一些辅助方法来帮助我调试我的量角器测试用例,我的主要方法之一是等待一个元素可点击,我正在创建这个循环以给量角器提供必要的时间来查找并确保元素已启用,但是当找不到元素时,无论是由于找不到元素还是我的脚本上的拼写错误,我希望测试运行停止并将其标记为失败..

 async WaitToBeClickable(element){
       try{
           for(var i = 0; i <= 3000; i++){
               var wait = await browser.wait(this.EC.elementToBeClickable(element), i);
               if(wait == true){
                   break;
               }else{
                   //this is where I want to fail
               }
           }
       }catch(err){
           //this is where I want to fail
           await console.log(`WAIT TO BE CLICKABLE FAILED:\n${element.parentElementArrayFinder.locator_.value}\n\nError:\n${err}\n`);
       }
   };

自从我在 VSC 上工作以来,这将帮助我调试我的脚本,但我似乎还没有找到一种方法来使测试失败,从而在第一次失败时关闭浏览器,我已经看到 protractor-fail -fast 和 protractor-bail-fast,但它似乎是针对 jasmine 测试用例而不是功能,我真的很感谢任何帮助,量角器让我有点发疯,哈哈……

标签: javascriptseleniumautomationjasmineprotractor

解决方案


//method

const checkData = () = {
     return new Promise((resolve)=>{
           if(true){
               // Success case
               return resolve(true)
           }
           else{
               // Fail case
               return reject(false)
           }
  })
}


//Specfile

it('sample test',async ()=>{
    Let data = await checkData();
    expect(data).toEqual(true);
})

基于解析值测试将通过或失败


推荐阅读