Quantcast
Channel: Windows Desktop Development for Accessibility and Automation forum
Viewing all articles
Browse latest Browse all 585

[Automation] TreeItems Cannot be Captured Properly

$
0
0

[Automation] TreeItems of WindowsApplication with target framework .Net 4.5.2 running on WinServer2012 R2 cannot be captured

I've created a sample windows application project containing a TreeView with two nodes. Each of the two nodes has child nodes.
Something like
-Node0

...Node2

...Node3

-Node1

...Node4

...Node5

...Node6

using the following code, it seems the tree items cannot be captured properly resulting to nodes.Count == 1. I'm expecting Count == 2 (Node0 and Node1)

using System.Windows.Automation;

namespace Tester
{
   public class Class1
   {
      public void Test()
      {
         var desktop = AutomationElement.RootElement;

         var forms = desktop.FindAll(TreeScope.Children, new PropertyCondition(AutomationElement.AutomationIdProperty, "MyForm"));

         var trees = forms[0].FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.AutomationIdProperty, "treeView1"));

         var nodes = trees[0].FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.TreeItem));

      }
   }
}

Note:

I'v been using FindAll to recheck if only 1 instance is being captured.

Add Reference to:

  • UIAutomationClient (File Version: 4.0.30319.34211 built by: FX452RTMGDR)
  • UIAutomationTypes (File Version: 4.0.30319.34211 built by: FX452RTMGDR)

Some deductions.

  • Server OS: Win2008ServerR2
  • WinApp Target Framework: .Net 4.0
  • Result: OK

  • Server OS: Win2008ServerR2
  • WinApp Target Framework: .Net 4.5.2
  • Result: OK

  • Server OS: Win2012ServerR2
  • WinApp Target Framework: .Net 4.0
  • Result: OK

  • Server OS: Win2012ServerR2
  • WinApp Target Framework: .Net 4.5.2
  • Result: Not OK

Thanks


Viewing all articles
Browse latest Browse all 585

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>