这篇文章主要介绍Laravel Dusk如何模拟HTML地理位置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
模拟 HTML 地理位置
我曾经不得不测试一个页面,该页面需要 HTML 网站提供地理位置,以便它可以显示一些结果。没有可用的直接模拟方法,因此我不得不重写 getCurrentPosition 方法,该方法最终将由页面调用。
/** @test */
public function test_geo_location()
{
$faker = Faker\Factory::create();
$latitude = $faker->latitude;
$longitude = $faker->longitude;
$this->browse(function (Browser $browser) use($latitude, $longitude) {
$browser->visit(new Homepage)
->assertOnPage();
$browser->driver->executeScript(
"window.navigator.geolocation.getCurrentPosition = function(onSuccessCallback) {
var position = {
'coords': { 'latitude': {$latitude}, 'longitude': {$longitude} }
};
onSuccessCallback(position);
}"
);
$browser->click('#geolocate-button')
->assertSee('Longitude: $longitude')
->assertSee('Latitude: Latitude')
});
}以上是“Laravel Dusk如何模拟HTML地理位置”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注天达云行业资讯频道!