2016-09-06 24 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上的工作原理。去圖。

相關問題