2016-09-06 25 views
0

enter image description here我似乎已经在ListView.Row(“名称”,“值”)的差一错误方法TestStack白

的所有我想做的就是右键点击NAME = “2”。所以我使用:

ListView list = output.Get<ListView>(SearchCriteria.ByAutomationId("selectorUser1")); 

if (list.Items.Contains(keyName)) 

{ 

    ListViewRow lvr = list.Row("Name", keyName); 
    lvr.Cells[0].RightClick(); 

} 

如果的keyName = “2” 时,它选择行其中Name = “XXX”(即关断接一个问题)。这让我想哭这么多。 TestStack的白色依赖已经从nuget引入,我认为它们是4.x版本(?),或者至少它们应该是最新的,我使用.Net 4.5.1,但可以下降到4.0如果需要。有趣的是,NuGet包控制台警告:

从模块一些进口的命令的名称“TestStack.White” 包括未经批准的动词,可能使他们失去了发现。到 找到带有未批准动词的命令,再次使用Verbose参数运行导入模块命令 。有关已批准动词的列表,请输入 Get-Verb。

有没有人在使用White时看到过类似的东西? (只?)我好,在这里损失...

回答

0
ListView list = output.Get<ListView>(SearchCriteria.ByAutomationId("selectorUser1")); 

list.Rows.ForEach(p => 
    { 
     if(p.Name == "Name") 
     { 
      p.Cells.ForEach(c => 
      { 
       if(c.Text.ToString() == "2") 
       { 
        c.RightClick(); 
       } 

      }); 
     } 

    }); 
+0

赞赏 - 但事实证明,遭受同样的问题。我想我已经解决了根本问题,并会回答我自己的问题。再次感谢。 – user741944

+0

使用UIAComWrapper:https://github.com/TestStack/White/tree/UIAComWrapper –

0

答案似乎是─这是在Windows 10中的错误。完全相同的代码在Windows 7上的工作原理。去图。

相关问题