1. 程式人生 > >使用if語句,在mocha jwebdriver的加入判斷邏輯分支,實現,根據元素狀態是否存在,進入不同的分支邏輯

使用if語句,在mocha jwebdriver的加入判斷邏輯分支,實現,根據元素狀態是否存在,進入不同的分支邏輯

let driver, testVars, exiserror = "first";

    before(function(){
        let self = this;
        driver = self.driver;
        testVars = self.testVars;
    });

    it('url: https://{{DUT1_MGT_IP}}', async function(){
        await driver.url(_(`https://{{DUT1_MGT_IP}}`));
    });

    it('waitBody: ', async function(){
        await driver.sleep(500).wait('body', 45000).html().then(function(code){
            isPageError(code).should.be.false;
        });
    });
    
    
    it('判斷元素是否存在#username', async function(){
       await driver.sleep(300).wait('#username', 2000).sleep(300).catch(function(error){exiserror = "notfirst";});
          
    });
    
    
    
    
        
        it('登入, 101, 22, 0', async function(){
if (exiserror == "first" ){          

         
        await driver.sleep(300).wait('#username', 30000).sleep(300).mouseMove().click(0);
        await driver.sendKeys('ns25000');
           await driver.sleep(300).wait('#password', 30000).sleep(300).mouseMove().click(0);
           await driver.sendKeys('ns25000');
           await driver.sleep(300).wait('#verificationCode', 30000).sleep(300).mouseMove().click(0);
            await driver.sendKeys('8888');
            await driver.sleep(300).wait('//button//span[text()="立即登入"]/..', 30000).sleep(300).mouseMove().click(0);
            
}
    }); 
        

核心觀點:

 

1、使用有一個標記變數,來判斷語句的輸入

2、使用catch方式返回變數,預設webdriver的話,找不到,回fail退出程式

使用其它異常捕捉方式應該也可以,沒試過