2015-04-23 97 views
3

在AngularJS應用程序中是否可以檢測環境是否爲量角器?檢測環境是否爲量角器

我想在運行我的測試時禁用某些功能,如地理位置。這不是我現在想要測試的東西,我非常確定這是導致我的測試無法運行的原因。

在我的應用程序中,我使用window.jasmine在運行Jasmine測試時禁用某些輪詢操作,所以類似的事情會很好。

if(!window.protractor) { 
    geoLocationRun() 
} 

這並不工作,似乎沒有要任何東西,我可以在窗口中使用了。

注:我知道我可以模擬出我可以做的地理定位,如果這是不可能的。在任何情況下,這也許是最好的方法,但是知道是否有合適的解決方案會很好。 How do I enable geolocation support in chromedriver for Selenium?

回答

1

我建議您將地理位置代碼移動到角度模塊中。然後,你可以使用browser.addMockModule

http://angular.github.io/protractor/#/api?view=Protractor.prototype.addMockModule

+1

我不知道這方法,這樣看起來比其他的方法來實現地理定位的更好的方式嘲笑你的量角器測試模塊。我已經在一個模塊中,以便應該很好地工作。我仍然想知道你是否可以檢測到量角器環境 – Asta