2015-04-23 57 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