2017-07-26 106 views
1

我正在使用Sauce Labs以Mocha作爲測試框架來運行我的Selenium測試腳本。腳本運行完美,但問題是,作業沒有完成 - 似乎driver.quit()被忽略,並在90秒後提示超時錯誤。硒節點+醬料實驗室測試:無法完成任務

下面的代碼:

const { driver } = require('./config'); 
const { By, until } = require('selenium-webdriver'); 

describe('Integration test', function() { 
    this.timeout(20000); 

    it('can login as test user', function() { 
    driver.get('https://www.example.com'); 
    driver.wait(until.elementIsNotVisible(driver.findElement(By.id('vale'))), 8000, 'Vale cannot fade'); 
    driver.findElement(By.name('email')).sendKeys('[email protected]'); 
    driver.findElement(By.name('password')).sendKeys('password'); 
    return driver.findElement(By.id('authFormSubmitButton')).click(); 
    }); 

    after(() => { 
    console.log('Quiting driver'); 
    // This does not work! 
    driver.quit(); 
    }); 
}); 

在配置一個driver建成並連接到遠程服務器。

運行此操作時,在控制檯中,我可以看到測試通過和Quiting driver消息,但在Sauce實驗室儀表板中,任務只是等到超時。

順便說一句我測試了上面的代碼與本地chromdriver和一切工作正常 - driver任務後立即退出。

任何幫助或想法表示讚賞。

回答

1

driver.quit()之前需要return

而不是調用done(),Mocha接受承諾作爲返回值。如果 測試返回承諾,則Mocha明白它是異步的, 並在傳遞到下一個 測試之前等待Promise解決。

article是有價值的。

相關問題