iOSDevice.GPS Property

Applies to TestComplete 15.62, last modified on March 14, 2024
The information below concerns legacy mobile tests that work with mobile devices connected to the local computer. For new mobile tests, we recommend using the newer cloud-compatible approach.

Description

Returns the current location of the mobile device and allows specifying a mock location. See Geolocation Testing (Legacy).

You can access this property on iOS only if a prepared application is running.

Declaration

iOSDevice.GPS

Read-Only Property A iOSGPS object

Applies To

The property is applied to the following object:

Property Value

The iOSGPS object that returns the current location of the mobile device and allows specifying a mock location.

Example

The code below retrieves location data from the iOS device's GPS sensor, posts them to the test log and shows the location in Google Maps:

JavaScript, JScript

function PostGPSLocation()
{
  Mobile.SetCurrent("iPad");
  // Check whether GPS is enabled
  if (Mobile.Device().GPS.GPSEnabled)
  {
    // Obtain location data
    var Longt = Mobile.Device().GPS.Location.Longitude;
    var Lat = Mobile.Device().GPS.Location.Latitude;
    // Output the location data
    Log.Message("The device location is:");
    Log.Message("Longitude: "+ aqConvert.VarToStr(Longt));
    Log.Message("Latitude: "+ aqConvert.VarToStr(Lat));
    Log.Message("Altitude: "+ aqConvert.VarToStr(Mobile.Device().GPS.Location.Altitude));
    Log.Message("VerticalAccuracy: "+ aqConvert.VarToStr(Mobile.Device().GPS.Location.VerticalAccuracy));
    Log.Message("HorizontalAccuracy: "+ aqConvert.VarToStr(Mobile.Device().GPS.Location.orizontalAccuracy));
    Log.Message("Course: " + aqConvert.VarToStr(Mobile.Device().GPS.Location.Course));
    Log.Message("Speed: " + aqConvert.VarToStr(Mobile.Device().GPS.Location.Speed));
    // Open Google Maps in the browser and pass the coordinates as URL parameters
    Browsers.Item(Browsers.btIExplorer).Run("http://maps.google.com/maps?q=loc:" + aqConvert.VarToStr(Lat) + "," + aqConvert.VarToStr(Longt));
  }
}

Python

def PostGPSLocation():
  Mobile.SetCurrent("iPad")
  # Check whether GPS is enabled
  if Mobile.Device().GPS.GPSEnabled:
    # Obtain location data
    Longt = Mobile.Device().GPS.Location.Longitude
    Lat = Mobile.Device().GPS.Location.Latitude
    # Output the location data
    Log.Message("The device location is:")
    Log.Message("Longitude: " + aqConvert.VarToStr(Longt))
    Log.Message("Latitude: " + aqConvert.VarToStr(Lat))
    Log.Message("Altitude: " + aqConvert.VarToStr(Mobile.Device().GPS.Location.Altitude))
    Log.Message("VerticalAccuracy: " + aqConvert.VarToStr(Mobile.Device().GPS.Location.VerticalAccuracy))
    Log.Message("HorizontalAccuracy: " + aqConvert.VarToStr(Mobile.Device().GPS.Location.HorizontalAccuracy))
    Log.Message("Course: " + aqConvert.VarToStr(Mobile.Device().GPS.Location.Course))
    Log.Message("Speed: " + aqConvert.VarToStr(Mobile.Device().GPS.Location.Speed))
    # Open Google Maps in the browser and pass the coordinates as URL parameters
    Browsers.Item[Browsers.btIExplorer].Run("http://maps.google.com/maps?q=loc:" + aqConvert.VarToStr(Lat) + "," + aqConvert.VarToStr(Longt))

VBScript

Sub PostGPSLocation
  Call Mobile.SetCurrent("iPad")
  ' Check whether GPS is enabled
  If Mobile.Device.GPS.GPSEnabled Then
    ' Obtain location data
    Longt = Mobile.Device.GPS.Location.longitude
    Lat = Mobile.Device.GPS.Location.latitude
    ' Output the location data
    Call Log.Message("The device location is:")
    Call Log.Message("Longitude: "& aqConvert.VarToStr(Longt))
    Call Log.Message("Latitude: "& aqConvert.VarToStr(Lat))
    Call Log.Message("Altitude: "& aqConvert.VarToStr(Mobile.Device.GPS.Location.Altitude))
    Call Log.Message("VerticalAccuracy: "& aqConvert.VarToStr(Mobile.Device.GPS.Location.VerticalAccuracy))
    Call Log.Message("HorizontalAccuracy: "& aqConvert.VarToStr(Mobile.Device.GPS.Location.HorizontalAccuracy))
    Call Log.Message("Course: "& aqConvert.VarToStr(Mobile.Device.GPS.Location.Course))
    Call Log.Message("Speed: "& aqConvert.VarToStr(Mobile.Device.GPS.Location.Speed))
    ' Open Google Maps in the browser and pass the coordinates as URL parameters
    Call Browsers.Item(Browsers.btIExplorer).Run("http://maps.google.com/maps?q=loc:" & aqConvert.VarToStr(Lat) & "," & aqConvert.VarToStr(Longt))
  End If
End Sub

DelphiScript

procedure PostGPSLocation;
var Longt, Lat;
begin
  Mobile.SetCurrent('iPad');
  // Check whether GPS is enabled
  if Mobile.Device.GPS.GPSEnabled then
  begin
    // Obtain location data
    Longt := Mobile.Device.GPS.Location.Longitude;
    Lat := Mobile.Device.GPS.Location.Latitude;
    // Output the location data
    Log.Message('The device location is:');
    Log.Message('Longitude: ' + aqConvert.VarToStr(Longt));
    Log.Message('Latitude: ' + aqConvert.VarToStr(Lat));
    Log.Message('Altitude: ' + aqConvert.VarToStr(Mobile.Device.GPS.Location.Altitude));
    Log.Message('VerticalAccuracy: ' + aqConvert.VarToStr(Mobile.Device.GPS.Location.VerticalAccuracy));
    Log.Message('HorizontalAccuracy: ' + aqConvert.VarToStr(Mobile.Device.GPS.Location.HorizontalAccuracy));
    Log.Message('Course: ' + aqConvert.VarToStr(Mobile.Device.GPS.Location.Course));
    Log.Message('Speed: ' + aqConvert.VarToStr(Mobile.Device.GPS.Location.Speed));
    // Open Google Maps in the browser and pass the coordinates as URL parameters
    Browsers.Item(Browsers.btIExplorer).Run('http://maps.google.com/maps?q=loc:' + aqConvert.VarToStr(Lat) + ',' + aqConvert.VarToStr(Longt));
  end;
end;

C++Script, C#Script

function PostGPSLocation()
{
  Mobile["SetCurrent"]("iPad");
  // Check whether GPS is enabled
  if (Mobile["Device"]["GPS"]["GPSEnabled"])
  {
    // Obtain location data
    var Longt = Mobile["Device"]["GPS"]["Location"]["Longitude"];
    var Lat = Mobile["Device"]["GPS"]["Location"]["Latitude"];
    // Output the location data
    Log["Message"]("The device location is:");
    Log["Message"]("Longitude: " + aqConvert["VarToStr"](Longt));
    Log["Message"]("Latitude: " + aqConvert["VarToStr"](Lat));
    Log["Message"]("Altitude: " + aqConvert["VarToStr"](Mobile["Device"]["GPS"]["Location"]["Altitude"]));
    Log["Message"]("VerticalAccuracy: " + aqConvert["VarToStr"](Mobile["Device"]["GPS"]["Location"]["VerticalAccuracy"]));
    Log["Message"]("HorizontalAccuracy: " + aqConvert["VarToStr"](Mobile["Device"]["GPS"]["Location"]["HorizontalAccuracy"]));
    Log["Message"]("Course: " + aqConvert["VarToStr"](Mobile["Device"]["GPS"]["Location"]["Course"]));
    Log["Message"]("Speed: " + aqConvert["VarToStr"](Mobile["Device"]["GPS"]["Location"]["Speed"]));
    // Open Google Maps in the browser and pass the coordinates as URL parameters
    Browsers["Item"](Browsers["btIExplorer"])["Run"]("http://maps.google.com/maps?q=loc:" + aqConvert["VarToStr"](Lat) + "," + aqConvert["VarToStr"](Longt));
  }
}

See Also

Testing Mobile Applications
Geolocation Testing (Legacy)
iOSGPS Object
iOSDevice Object

Highlight search results