2016-09-28 56 views
1

設置我量角器具有低於此的conf文件時:開始後量角器變化ROOTEL測試角應用

exports.config = { 
    framework: 'mocha', 
    rootElement: '#container1', 
    specs: ['*container1_spec.js'], 
    capabilities: { 
    browserName: 'chrome', 
    version: '', 
    platform: 'ANY' 
    }, 
    onPrepare: function() { 
    // implicit and page load timeouts 
    browser.manage().timeouts().pageLoadTimeout(40000); 
    browser.manage().timeouts().implicitlyWait(25000); 
    } 
} 

該應用程序是手動自舉在角度和我需要改變一些步驟之後的根元素時應用程序通過執行window.location.replace將控件轉移到另一個應用程序。啓動的第二個應用程序也是一個角度應用程序,它可以進行手動引導。

another thread in SO。我發現我可以做的代碼browser.rootEl = 'div#container2';

WebDriverError: unknown error: [ng:test] no injector found for element argument to getTestability 
http://errors.angularjs.org/1.5.8/ng/test 

回答

1

正如我在問題中提到的那樣,更改rootEl不起作用。我不得不求助於DOM來運行測試。

function getMessage() { 
    return document.getElementById('msg').textContent; 
} 
setTimeout(function() { 
    browser.executeScript(getMessage).then(function (txt) { 
    chai.expect(txt).to.equal("Error occured"); 
    done(); 
    }); 
}, 10000); 

browser.executeScript是允許我查詢DOM和解決方法的關鍵功能。爲了讓第二個應用程序能夠下載和引導,我必須添加延遲超時。