Coded UI Tests: The playback failed to find the control with the given search properties.

Ve VS 2013 pomocí Coded UI Test Builderu nahrávám skript pro proklikání stránek.

Test se podaří vyrobit, ale při přehrávání dostávám výjimku:

Microsoft.VisualStudio.TestTools.UITest.Extension.UITestControlNotFoundException: The playback failed to find the control with the given search properties. Additional Details:
TechnologyName:  'Web'
ControlType:  'Hyperlink'
TagName:  'A'
Id:  ''
Name:  ''
Target:  ''
InnerText:  'Kanda Jiří'
 Failed to find any control that matched the search condition Id='' && Name='' && ControlType='Hyperlink' && Target='' && InnerText='Kanda Jiří' ---> System.Runtime.InteropServices.COMException: Volání součásti COM vrátilo chybu HRESULT E_FAIL.

Hraji si s vyrobeným kódem a zjišťuji, že problém se vyskytuje pouze tehdy, pokud se hledá pomocí podmínky na InnerText.

This.Xyz.SearchProperties[HtmlHyperlink.PropertyNames.InnerText] = "xyz";

Pokud je tato podmínka odstraněna, test začne fungovat.

Řešení, jak tento problém obejít, je neuvěřitelné a pro mě těžko pochopitelné. V PlaybackSettings je třeba nastavit vlastnost AlwaysSearchControls (což je nutné i pro další problém s Coded UI Testy) a navíc značně prodloužit DelayBetweenActions z výchozí hodnoty 100 ms.

Playback.PlaybackSettings.AlwaysSearchControls = true;
Playback.PlaybackSettings.DelayBetweenActions = 500;

Zanechat odpověď

Vyplňte detaily níže nebo klikněte na ikonu pro přihlášení:

Logo WordPress.com

Komentujete pomocí vašeho WordPress.com účtu. Odhlásit /  Změnit )

Facebook photo

Komentujete pomocí vašeho Facebook účtu. Odhlásit /  Změnit )

Připojování k %s