cancel
Showing results for 
Search instead for 
Did you mean: 

iOS menu appears after a higher option is selected, but TC can't see it.

Highlighted
Occasional Contributor

iOS menu appears after a higher option is selected, but TC can't see it.

Hello all, i am hoping someone can  point me in the right direction of an issue i am having with testing an iOS app.

 

I have a menu down the left hand side. Dependant on what has been selected, the left hand menu can change.

 

On the app it has a Wall Height and when it is over a certain height a option appears at the bottom of the left hand nav.

 

My script basically reuses 2 procedures and searches the Left Hand Nav for the item label working bottom up, and this works for all options apart from this options that appears at the end after being activated higher up.

 

When debugging i noticed that the check for the label starts the one above and doesn't even start at the now new bottom label, but the original last label.

 

Is there any way to have TC capture the new left hand menu list?

 

 

procedure SetLeftHandMenu(MenuName : String; ControlName : String; Driver: OleVariant);
var
  LeftHandOption                    : OleVariant;
  Value                             : OleVariant;
begin
  Value := Project.Variables.Driver.Value(ControlName);
  If Value <> 'Blank' then 
  begin
    LeftHandOption := FindMenuLabel(MenuName);
    if LeftHandOption <> nil then
    begin
      LeftHandOption.Touch;
    end;
  end;  
end;

 

function FindMenuLabel(MenuName: String) : String;
var
  I: Integer;
  MenuValue;
begin
  Result:=nil;
  Aliases.Device.processApplication.window0.tableview0.Refresh;
  MenuValue := Project.Variables.Driver.Value(MenuName);
  if MenuValue <> 'Blank' then
  begin
    Delay(1000);
    for I:=0 to cleftnavtable.ChildCount -1 do
      if cleftnavtable.Child[I].Label.ab_text = MenuValue then
      begin
        Result := cleftnavtable.Child[I];
        break;
      end;
  end;
end;
New Here?
Join us and watch the welcome video:
Top Kudoed Authors