TreeNode expanded or not

Jun 11, 2009 at 12:51 PM

Hi

I have a tree and wrote a little helper function.

 

     /// <summary>
    /// Selects the tree node by given path.
    /// </summary>
    /// <param name="treePath">The path to the node each node seperated by ':'.</param>
    /// <param name="treeID">The tree ID.</param>
    /// <param name="window">The window containing the tree.</param>
    /// <returns>the selected tree node</returns>
    public static TreeNode GetSelectedTreeNode(string treePath, string treeID, UIItemContainer window)
    {
      Thread.Sleep( 100 );
      string[] treePathArray = treePath.Split( ':' );

      Tree tree = (Tree)window.Get( SearchCriteria.ByAutomationId( treeID ) );
      Assert.IsNotNull( tree );
      TreeNode node = catalogTree.Node(treePathArray);
      node.Select();

      //node = catalogTree.Node( treePathArray[ 0 ] );

      //node.Select();
      //node.Expand();

      //for(int i=1; i<treePathArray.Count();i ++)
      //{
      //  node = node.Nodes.Where(p => p.Name == treePathArray[ i ] ).First();
      //  node.Select();
      //  if(!node.IsExpanded())
      //  {
      //    node.DoubleClick();
      //  }
      //  node.Expand();
      //}

      return node;
    }

 

TreeNode node = GetSelectedTreeNode("Root:Applications:Application:Static:Parameters"; "automationId", window);

 

Problem is that the Static node has no elements if I debug, but in fact there are elements in this tree .

 

Application is not expanded if I call the function, but will be expanded during the call.

Static will not be expanded.

 

Add the end node.Select throws a NullPointerException

 

Any ideas?

 

Thanks

  Throndorin

 

 

 

 

Jun 11, 2009 at 1:37 PM

Find a solution, but this seems to be a general problem.

 

Here the way I use it know

 

TreeNode staticNode = GetSelectedTreeNode("Root:Applications:Application:Static"; "automationId", window);

staticNode.DoubleClick();

TreeNode paramNode = GetSelectedTreeNode("Root:Applications:Application:Static:Parameters"; "automationId", window);

 

now the correct node is selected

Coordinator
Jun 15, 2009 at 4:25 PM

Would it be possible for you to provide application under test code (sample would do) against which this is happening.

Jun 16, 2009 at 5:50 AM

Sorry, I can't :(

 

I can only say that this is an application which is integrated into Visual Studio 2008.

 

I can tell something about the test which is done.

 

I have a tree structure

 

Root

|._Applications

  |_Application

    |_Static

 

now I Add a parameter, after that the structure should be

 

Root

|._Applications

  |_Application

    |_Static

      |_Parameters

If I now get the Tree element and have a look on the internal structure, I see that there are no elements under static. I had to doubleClick on static first.

 

If I interpret your question, you think that there is a problem in the tree implementation of the system under test?

Coordinator
Jun 25, 2009 at 3:13 PM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.