2017-03-27 39 views
0

我一直在測試的應用程序允許查看客戶之前選擇的項目的圖像。爲此,網頁底部提供了一個HTML鏈接列表。 舉例來說,如果客戶選擇了酒精的飲料,在HTML鏈接可能看起來像:在編碼UI中,如何識別並單擊HTML鏈接的一部分

伏特加酒 - 酒精飲料

啤酒 - 酒精的飲料

杜松子酒 - 酒精飲料

等等

當我創建我的代碼d UI腳本,識別整個文本是一件容易的事情,例如, 「伏特加 - 酒精飲料」作爲Htmlhyperlink的InnerText並讓我的腳本點擊它。然而,我不能預測早些時候選擇了哪種飲料,例如,伏特加酒,啤酒或杜松子酒,以及InnerText的一種變體(在我的例子中爲「伏特加酒 - 酒精飲料」)不能匹配所有可能的飲料名稱。正因爲如此,編碼UI腳本主要失敗(除非選擇伏特加)。

因此,切斷HTML鏈接中的飲料名稱並讓我的Coded UI腳本找到並點擊僅保留相同的單詞「Alcohol Drinks」是合乎邏輯的。這就是我堅持的地方。

對於如何完成這項任務的任何想法,我將不勝感激。

這是唯一適用於一場比賽的作品。

HtmlHyperlink alcoholDrinksLink = new HtmlHyperlink(PreSelectedPage);  
alcoholDrinksLink.SearchProperties.Add("ControlType", "Hyperlink");   
alcoholDrinksLink.SearchProperties.Add("InnerText", "Vodka - Alcohol Drinks"); 
Mouse.Click(alcoholDrinksLink); 
+0

請提供您迄今爲止編寫的代碼。 –

+0

這是唯一適用於一場比賽的作品。 'HtmlHyperlink alcoholDrinksLink = new HtmlHyperlink(PreSelectedPage); alcoholDrinksLink.SearchProperties.Add(「ControlType」,「Hyperlink」); alcoholDrinksLink.SearchProperties.Add(「InnerText」,「伏特加酒 - 酒精飲料」); Mouse.Click(alcoholDrinksLink);' –

回答

0

利用我們的開發工作後,我們提出了以下解決方案,它的工作原理:

HTMLTABLE hyperlinksBox =新HTMLTABLE(reviewPurchaseHtmlDocument); //識別所有超鏈接的容器(或盒子)

hyperlinksBox.SearchProperties.Add(「Id」,「DEApplication:content:vc:dt1」); //添加搜索屬性以查找您的表格

HtmlControl hyperlink = new HtmlControl(hyperlinksBox); //識別容器中的每個超鏈接 hyperlink.SearchProperties.Add(「TagName」,「A」); UITestControlCollection drinksHyperlinks = hyperlink.FindMatchingControls();

 foreach (var link in drinksHyperlinks) 
     { 

      Mouse.Click(link); //click the link 
      Playback.Wait(5000); //and review it for 5 seconds 
     }