我需要使用Selenium测试JS地理定位功能,并且正在使用chromedriver在最新的Chrome上运行测试。
现在的问题是,Chrome浏览器提示我在测试过程中启用Geolocation,而且我不知道如何在运行时单击该小条,因此我急切地寻找一种方法来通过某些选项或触发器启动chromedriver和chrome默认情况下启用此功能。我在这里只能找到如何完全禁用地理位置。
我该如何解决这个问题?
在chromedriver Wiki的“已知问题”部分中,他们说您 无法指定自定义配置文件
这就是为什么在我看来,@ Sotomajor关于像使用Firefox一样使用Chrome使用配置文件的答案不起作用。
在我的一项集成测试中,我遇到了同样的问题。但是,因为我不担心真正的地理位置值,所以我要做的就是模拟window.navigator.gelocation
在您的Java测试代码中,请采用此解决方法以避免Chrome geoloc权限信息栏。
chromeDriver.executeScript(“ window.navigator.geolocation.getCurrentPosition = 功能(成功){ var position = {“ coords”:{ “纬度”:“ 555”, “经度”:“ 999” } }; success(position);}“);
纬度(555)和经度(999)值只是测试值