2013-04-03 22 views
8

Próbuję wykonać niektóre zakodowane testy interfejsu użytkownika przy użyciu programu Visual Studio 2010 w mojej witrynie SharePoint 2010. Konkretny plik w SharePoint uruchamia moją aplikację Silverlight w osobnym oknie. Dodałem zespół SilerlightUIAutomationHelper jako odniesienie we wszystkich moich projektach Silverlight, które go obsługują. Powinno to pozwolić mi do nagrywania działań w tym, ale to wyskakuje komunikat o błędzie, gdy próbuję nagrać w mojej aplikacji Silverlight:Zakodowany test interfejsu użytkownika Nie znaleziono modułu SilverlightUIAutomationHelper

No Silverlight controls were detected. Verify that the application under test 
is built using Silverlight assemblies with a version of 4.0 or greater and that 
a reference to the Microsoft.VisualStudio.TestTools.Extension.SilverlightUIAutomationHelper.dll 
assembly has been added to the project. 

biegnę Silverlight 5.0, tak że nie może być problemem . Sprawdziłem również, że biblioteka SilverlightUIAutomationHelper przeszła do pakietu xap.

byłem w stanie z powodzeniem nagrać te działania w SharePoint 2013/Visual Studio 2012 z tego rozszerzenia: http://visualstudiogallery.msdn.microsoft.com/28312a61-9451-451a-990c-c9929b751eb4

Każdy pomysł, dlaczego tak się dzieje? Co mogę zrobić, aby to naprawić?

+0

Używasz najnowszego Internet Explorera zgodnie z sugestią na połączonej stronie rozszerzenia? – jv42

+0

@ jv42 Tak, próbowałem tego z IE8 i 9 – tnw

+0

kilka razy zakodowane testy UI są dziwne, spróbuj ręcznie kliknąć kontrolkę silver-light, podczas gdy szukają kontroli, aby zobaczyć, czy ją znajdzie. –

Odpowiedz

4

Aby wykonać testy kodowanego interfejsu użytkownika w Silverlight 5, należy użyć aktualizacji pomocnika automatyzacji kodowanego interfejsu użytkownika: tutaj: Visual Studio Gallery: UI Test Plugin for Silverlight Stary, który jest dostarczany z VS2010, działa tylko na SL4 i poniżej.

SL5 został zaimplementowany nieco inaczej, i przełamał testy kodowanych interfejsów, dlatego też prosi deweloperów o przejście na VS2012 i nową wtyczkę automatyzacji UI (jak odkryliście).

Po zainstalowaniu pliku wykonywalnego UITestPluginForSilverlight.msi należy odwołać się do tych zestawów w części projektu Silverlight (która już jest).

O ile pamiętam, powodem, dla którego testy kodowanego interfejsu użytkownika zepsuły się w VS2010, ale działały w VS2012, jest to, że pliki SLIM i SL4 UIMap.designer.cs generowane przez rejestratory testowe nie są zbyt kompatybilne z każdym z nich. inny.

Nagrania SL4 Wygenerowane z pomocnikiem SL4 do automatyzacji nie będą działały z wersją narzędzia AutiomationHelper w wersji SL5. Jednak SL5 Autiomation Helper będzie działał z nagraniami SL4, jeśli te nagrania są generowane przez VS2012.

Aby opracować: Podczas korzystania z rejestratora tworzy on plik UIMap. Plik mapa ma trzech porcjach do niego:

  1. XML lista wszystkich zarejestrowanych metod
  2. Designer wygenerowany kod Behind częściowej klasy.
  3. Użytkownik klasy częściowej.

Po sprawdzeniu wygenerowanego przez projektanta kodu znajdującego się za plikiem można w rzeczywistości stwierdzić, że rejestrator generuje dużą ilość kodu w celu znalezienia elementów sterujących i interakcji z nimi.

Dla każdego elementu sterującego rejestrator wykrywa wystąpienie odpowiedniego obiektu testu/interakcji.

Podczas zadeklarowania tych obiektów rejestrator definiuje kilka właściwości wykrywalnych/możliwych do wyszukania. Następnym razem, gdy odtwarzanie zostanie wykonane, bierze te właściwości i używa ich do znalezienia właściwej kontroli.

Ponadto wszystkie elementy sterujące mają element nadrzędny, więc obowiązkowe ustawienie rekordera określa element nadrzędny interfejsu użytkownika dla każdej wykrytej kontroli.Dla SL4 i SL5 rodzice są w następujący sposób:

  • Okno Przeglądarka
  • HTML Page
  • Div (trzymając runtime silverlight)
  • SL Object (SL Runtime plugin)
  • główna SL UI Element (zwykle Squigly Buzy wskaźnik)
  • Nawigacja Ramki
  • Strony wewnętrzne
  • Kontrole

Konstruktor:

  1. nadrzędna sterowania/Interakcje Object

Szukaj nieruchomości:

  1. stronie tytułowej: Całkowity ciąg znaków, który jest wyświetlany tytuł okna przeglądarki.
  2. Instance Number: (zaczyna się od 1 na listach ... co jest dziwne)
  3. sterowania ID: (określone przez imię lub x: Name atrybutów XAML)
  4. Display Name: To jest niepewna dla pola kombi/elementy listy, jak to działa łącząc co staje się w polu kombi/lista elementów pozycji w połączeniu z liczbą instancji tej pozycji, na przykład:

pole kombi z dwóch elementów, każdy o nazwie „Wykaz egzemplarzy” mogą być wykryte przez następujące wyświetlane nazwy:

"Element listy: 1" i "Pozycja listy: 2"

  1. Dowolna kombinacja i permutacja atrybutów wyszukiwania (można je wyszukać).

Krótko mówiąc, rzeczywiste obiekty interakcji generowane przez nagrywarki różnią się w SL4 i SL5. Oznacza to, że nie można pobrać jednego UIMap.designer.cs i zamienić go na inny. Struktura testowa (i związane z nią obiekty interakcji używane w pliku UIMap.designer.cs) nie są kompatybilne z binariami. Dlatego odtwarzanie nie działa.

Powiązane problemy