AndroidGPS Object

Applies to TestComplete 14.72, last modified on December 24, 2020

Description

The AndroidGPS object provides an interface to the GPS sensor of the connected mobile device. You can use this object to get the current location of the device or to specify a mock location. See Geolocation Testing.

The AndroidGPS object is returned by the Device.GPS property.

In order for TestComplete to access the GPS sensor data:

Members

Example

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

JavaScript, JScript

function PostGPSLocation()
{
  Mobile.SetCurrent("Nexus 7");
  // Enable GPS
  Mobile.Device().GPS.GPSEnabled = true;
  // 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("Accuracy: " + aqConvert.VarToStr(Mobile.Device().GPS.Location.Accuracy));
  // 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("Nexus 7")
  # Enable GPS
  Mobile.Device().GPS.GPSEnabled = True
  # 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: " + IntToStr(Longt))
  Log.Message("Latitude: " + IntToStr(Lat))
  Log.Message("Altitude: " + VarToStr(Mobile.Device().GPS.Location.Altitude))
  Log.Message("Accuracy: "+ VarToStr(Mobile.Device().GPS.Location.Accuracy))
  # 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:" + IntToStr(Lat) + "," + IntToStr(Longt))

VBScript

Sub PostGPSLocation
  Call Mobile.SetCurrent("Nexus 7")
  ' Enable GPS
  Mobile.Device.GPS.GPSEnabled = true
  ' 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("Accuracy: "& aqConvert.VarToStr(Mobile.Device.GPS.Location.Accuracy))
  ' 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 Sub

DelphiScript

procedure PostGPSLocation;
var Longt, Lat;
begin
  Mobile.SetCurrent('Nexus 7');
  // Enable GPS
  Mobile.Device.GPS.GPSEnabled := true;
  // 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('Accuracy: ' + aqConvert.VarToStr(Mobile.Device.GPS.Location.Accuracy));
  // 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;

C++Script, C#Script

function PostGPSLocation()
{
  Mobile["SetCurrent"]("Nexus 7");
  // Enable GPS
  Mobile["Device"]["GPS"]["GPSEnabled"] = true;
  // 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"]("Accuracy: " + aqConvert["VarToStr"](Mobile["Device"]["GPS"]["Location"]["Accuracy"]));
  // 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

Geolocation Testing
AndroidDevice Object
GPS Property

Highlight search results