【问题标题】:How to get the geo location of a device in Android using Appium如何使用 Appium 在 Android 中获取设备的地理位置
【发布时间】:2018-01-18 03:56:03
【问题描述】:

我需要使用 Appium 获取 Android 设备的设备纬度、经度和海拔高度。是否有任何内置方法来获取地理位置信息,例如 setLocation() 方法,或者我们是否必须使用 ADB 命令来查找设备地理位置。

【问题讨论】:

    标签: appium


    【解决方案1】:

    是的,appium 为此目的公开了端点:

    GET /session/:session_id/location

    所以如果你在Java 编码,你可以这样做:

    Location location = driver.location();
    //location.getAltitude();
    //location.getLatitude();
    //location.getLongitude();
    

    【讨论】:

    • 我收到以下错误 org.openqa.selenium.WebDriverException:方法尚未实现(警告:服务器未提供任何堆栈跟踪信息)我使用的是 Java 客户端 5.0.4跨度>
    • 我已将我的 java 客户端更新到最新的 6.0.0-BETA2,但我仍然收到相同的错误。 io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) 在 io.appium.java_client.AppiumExecutionMethod.execute(AppiumExecutionMethod.java:44) 在 org.openqa.selenium.remote.html5.RemoteLocationContext.location( RemoteLocationContext.java:39) 在 io.appium.java_client.AppiumDriver.location(AppiumDriver.java:256) 在 com.vervewireless.qa.AppiumHelper.getLongitude(AppiumHelper.java:82)
    • 我已确认在我的设备中启用了模拟位置
    • 如果您使用的是真实设备,您可能会遇到此类错误:appium 中与位置相关的方法仅适用于模拟器,因为无法在真实设备上获得准确的值。见android.stackexchange.com/questions/85279/…
    • 是的,我正在测试真实设备而不是模拟器。或者除了 adb 命令之外,还有其他方法可以在真实设备中获取位置信息。
    猜你喜欢
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多