Getting the Selected Picker View Item

Applies to TestComplete 14.40, last modified on April 22, 2021

In your tests, you may need to check the state of a picker view item. For example, you may need to check if the item is selected before performing certain actions.

Getting Index of a Selected Item

The iOS PickerView object provides a special wSelectedItem property that you can use to determine which item is currently selected in the control. This property has a Wheel parameter that specifies the used wheel by its index (starting from 0). The property returns the number of the selected item.

The example below posts the selected item from the first wheel of the picker view to the test log:

JavaScript, JScript

function Test()
{
  // Select the mobile device
  Mobile.SetCurrent("iPhone");
  // Obtain the PickerView object
  var p = Mobile.Device().Process("SampleApp");
  var pickerview = p.Window(3).PickerView();

  // Store the selected item's index in the variable
  var selected = pickerview.wSelectedItem(0);

  // Post the selected items's text to the log
  Log.Message(selected, 0)
}

Python

def Test():
  # Select the mobile device
  Mobile.SetCurrent("iPhone")
  # Obtain the PickerView object 
  p = Mobile.Device().Process("SampleApp")
  pickerview = p.Window(3).PickerView()

  # Store the selected item's index in the variable
  selected = pickerview.wSelectedItem[0]

  # Post the selected items's text to the log
  Log.Message(selected, 0)

VBScript

Sub Test()
  Dim p, pickerview, selected
  ' Select the mobile device
  Mobile.SetCurrent("iPhone")
  ' Obtain the PickerView object
  Set p = Mobile.Device.Process("SampleApp")
  Set pickerview = p.Window(3).PickerView

  ' Store the selected item's index in the variable
  selected = pickerview.wSelectedItem(0)

  ' Post the selected items's text to the log
  Log.Message(pickerview.wItem(selected, 0))
End Sub

DelphiScript

procedure Test();
var
  p, pickerview, selected;
begin
  // Select the mobile device
  Mobile.SetCurrent('iPhone');
  // Obtain the PickerView object
  p := Mobile.Device.Process('SampleApp');
  pickerview := p.Window(3).PickerView;

  // Store the selected item's index in the variable
  selected := pickerview.wSelectedItem;

  // Post the selected items's text to the log
  Log.Message(selected, 0);
end;

C++Script, C#Script

function Test()
{
  // Select the mobile device
  Mobile["SetCurrent"]("iPhone");
  // Obtain the PickerView object
  var p = Mobile["Device"].Process("SampleApp");
  var pickerview = p["Window"](3)["PickerView"]();

  // Store the selected item's index in the variable
  var selected = pickerview["wSelectedItem"](0);

  // Post the selected items's text to the log
  Log["Message"](selected, 0)
}

Checking Picker View Item State From Keyword Tests

To check if a picker view item is selected from keyword tests, call the methods described above by using the On-Screen Action or Call Object Method operation. See Calling Object Methods.

See Also

Working With iOS Picker View Controls
Working With iOS Picker View Controls - Basic Concepts
wSelectedItem Property (Specific to iOS Picker View Controls)

Highlight search results