Testowanie aplikacji ze Sklepu Windows za pomocą kodowanych testów interfejsu użytkownika
Użyj kodowane testy interfejsu użytkownika, aby zweryfikować swoje aplikacje Sklepu Windows.
Tworzenie aplikacji ze Sklepu Windows prosty
Jeśli chcesz uruchomić kodowane testy interfejsu użytkownika dla aplikacji ze Sklepu Windows oparte na języku XAML, musisz najpierw ustawić właściwość unikatowy automatyzacji, która identyfikuje każdej kontrolki.
Na narzędzia menu, wskaż opcję opcje , a następnie wybierz Edytor tekstu, następnie XAML, a na końcu różne.
Zaznacz pole wyboru, aby automatycznie nazwa elementy interaktywne przy tworzeniu.
Utwórz nowy projekt o puste XAML za pośrednictwem aplikacji ze Sklepu Windows przy użyciu szablonu albo Visual C# lub Visual Basic.
W Eksploratorze rozwiązań Otwórz MainPage.xaml.Z przybornika przeciągnij powierzchnię projektową formant przycisku i formant pola tekstowego.
Kliknij dwukrotnie formant przycisku i Dodaj następujący kod:
private void button_Click_1(object sender, RoutedEventArgs e) { this.textBox.Text = this.button.Name; }
Public NotInheritable Class MainPage Inherits Page Private Sub button_Click(sender As Object, e As RoutedEventArgs) Handles Button.Click Me.textBox.Text = Me.button.Name End Sub End Class
Naciśnij klawisz F5, aby uruchomić aplikację ze Sklepu Windows.
Tworzenie i uruchamianie kodowane testów interfejsu użytkownika dla aplikacji ze Sklepu Windows
Utwórz projekt nowych testów interfejsu użytkownika kodowane dla aplikacji ze Sklepu Windows.
Wybierz edytować mapy interfejsu użytkownika za pomocą narzędzia krzyżyk.
Narzędzie krzyżyk w Konstruktorze kodowanych testów interfejsu użytkownika umożliwia wybór aplikacji, kliknij prawym przyciskiem myszy AutomationId i wybierz polecenie wartość Kopiuj do Schowka.Wartość w Schowku będzie później używany do zapisywania akcji na uruchomienie aplikacji do testowania.
W uruchamianie aplikacji Sklepu Windows użyj narzędzia krzyżyk, aby wybrać formantem przycisk i pole tekstowe.Po dodaniu każdej kontrolki, wybierz dodać formant do interfejsu użytkownika kontroli mapy przycisk na pasku narzędzi kodowanych konstruktora testów interfejsu użytkownika.
Wybierz generowanie kodu przycisk na pasku narzędzi kodowanych konstruktora testów interfejsu użytkownika, a następnie wybierz Generuj do tworzenia kodu dla zmian w planie kontroli interfejsu użytkownika.
Kliknij przycisk, aby ustawić wartość w polu tekstowym.
Narzędzie krzyżyk zaznacz formant pola tekstowego, a następnie wybierz opcję tekstu właściwości.
Dodaj assertion.Aby sprawdzić, czy wartość jest poprawna go będą używane w teście.
Dodaj i wygenerować kod potwierdzenia.
Visual C#
W Eksploratorze rozwiązań Otwórz plik UIMap.Designer.cs, aby wyświetlić dodano kod dla metody potwierdzenia i formanty.
Visual Basic
W Eksploratorze rozwiązań, otwórz plik CodedUITest1.vb, a następnie w kodzie metoda testu CodedUITestMethod1(), kliknij prawym przyciskiem myszy wywołanie metody potwierdzenia, które zostały dodane automatycznie Me.UIMap.AssertMethod1() i wybierz polecenie przejdź do definicji.Plik UIMap.Designer.vb zostanie otwarta w edytorze kodu, aby wyświetlić widok dodano kod dla metody potwierdzenia i formanty.
Przestroga Nie należy modyfikować pliku UIMap.designer.cs lub UIMap.Designer.vb bezpośrednio.Jeśli to zrobisz, zmiany w pliku zostaną zastąpione każdym wygenerowaniu testu.
Assert — Metoda
public void AssertMethod1() { #region Variable Declarations XamlEdit uITextBoxEdit = this.UIApp1Window.UITextBoxEdit; #endregion // Verify that the 'Text' property of 'textBox' text box equals 'button' Assert.AreEqual(this.AssertMethod3ExpectedValues.UITextBoxEditText, uITextBoxEdit.Text); }
Public Sub AssertMethod1() Dim uITextBoxEdit As XamlEdit = Me.UIApp2Window.UITextBoxEdit 'Verify that the 'Text' property of 'textBox' text box equals 'button' Assert.AreEqual(Me.AssertMethod1ExpectedValues.UITextBoxEditText, uITextBoxEdit.Text) End Sub
Formanty
#region Properties public XamlButton UIButtonButton { get { if ((this.mUIButtonButton == null)) { this.mUIButtonButton = new XamlButton(this); #region Search Criteria this.mUIButtonButton.SearchProperties[XamlButton.PropertyNames.AutomationId] = "button"; this.mUIButtonButton.WindowTitles.Add("App1"); #endregion } return this.mUIButtonButton; } } public XamlEdit UITextBoxEdit { get { if ((this.mUITextBoxEdit == null)) { this.mUITextBoxEdit = new XamlEdit(this); #region Search Criteria this.mUITextBoxEdit.SearchProperties[XamlEdit.PropertyNames.AutomationId] = "textBox"; this.mUITextBoxEdit.WindowTitles.Add("App1"); #endregion } return this.mUITextBoxEdit; } } #endregion #region Fields private XamlButton mUIButtonButton; private XamlEdit mUITextBoxEdit; #endregion
#Region "Properties" Public ReadOnly Property UIButtonButton() As XamlButton Get If (Me.mUIButtonButton Is Nothing) Then Me.mUIButtonButton = New XamlButton(Me) Me.mUIButtonButton.SearchProperties(XamlButton.PropertyNames.AutomationId) = "button" Me.mUIButtonButton.WindowTitles.Add("App2") End If Return Me.mUIButtonButton End Get End Property Public ReadOnly Property UITextBoxEdit() As XamlEdit Get If (Me.mUITextBoxEdit Is Nothing) Then Me.mUITextBoxEdit = New XamlEdit(Me) Me.mUITextBoxEdit.SearchProperties(XamlEdit.PropertyNames.AutomationId) = "textBox" Me.mUITextBoxEdit.WindowTitles.Add("App2") End If Return Me.mUITextBoxEdit End Get End Property #End Region #Region "Fields" Private mUIButtonButton As XamlButton Private mUITextBoxEdit As XamlEdit #End Region
W Eksploratorze rozwiązań Otwórz plik CodedUITest1.cs lub CodedUITest1.vb.Możesz dodać kod z metodą CodedUTTestMethod1 potrzebę działania do uruchamiania testów za pomocą formantów dodanych do UIMap:
Uruchomienie aplikacji Sklepu Windows przy użyciu właściwości identyfikator automatyzacji wcześniej skopiowane do Schowka:
XamlWindow.Launch("8ebca7c4-effe-4c86-9998-068daccee452_cyrqexqw8cc7c!App")
XamlWindow myAppWindow = XamlWindow.Launch("7254db3e-20a7-424e-8e05-7c4dabf4f28d_cyrqexqw8cc7c!App");
Dodaj gest do naciśnij przycisk kontrolki:
Gesture.Tap(this.UIMap.UIApp1Window. UIButtonButton);
Gesture.Tap(Me.UIMap.UIApp2Window. UIButtonButton)
Należy sprawdzić, czy wywołanie metody potwierdzenia, który został wygenerowany automatycznie pochodzą po uruchomieniu aplikacji, a następnie wybierz gest przycisk:
this.UIMap.AssertMethod1();
Me.UIMap.AssertMethod1()
Po dodaniu kod, metoda testu CodedUITestMethod1 mają pojawiać się w następujący sposób:
[TestMethod] public void CodedUITestMethod1() { // To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. // Launch the app. XamlWindow myAppWindow = XamlWindow.Launch("7254db3e-20a7-424e-8e05-7c4dabf4f28d_cyrqexqw8cc7c!App"); // Tap the button. Gesture.Tap(this.UIMap.UIApp1Window.UIButtonButton); this.UIMap.AssertMethod1(); }
<CodedUITest(CodedUITestType.WindowsStore)> Public Class CodedUITest1 <TestMethod()> Public Sub CodedUITestMethod1() ' ' To generate code for this test, select "Generate Code for Coded UI Test" from the shortcut menu and select one of the menu items. ' ' Launch the app. XamlWindow.Launch("8ebca7c4-effe-4c86-9998-068daccee452_cyrqexqw8cc7c!App") '// Tap the button. Gesture.Tap(Me.UIMap.UIApp2Window.UIButtonButton) Me.UIMap.AssertMethod1() End Sub
Tworzenie testu, a następnie uruchom test za pomocą Eksploratora testów.
Uruchamia aplikację dla Sklepu Windows, akcja tap zakończeniu przycisk i pole tekstowe Tekst właściwości jest wypełniony i sprawdzane za pomocą metody potwierdzenia.
Po zakończeniu testu Eksploratora testów Wyświetla, że test przekazana.
Pytania i odpowiedzi
Pyt.: Dlaczego nie widzę opcję rejestrowania Moje kodowanych testów interfejsu użytkownika w generowania kodu dla okna dialogowego kodowane testowanie interfejsu użytkownika?
Element: opcję rejestrowania nie jest obsługiwana dla aplikacji ze Sklepu Windows.
Q: Moje aplikacji ze Sklepu Windows oparte na WinJS można utworzyć kodowanych testów interfejsu użytkownika?
Element: nie, są obsługiwane tylko na podstawie XAML aplikacji.
Pyt czy mogę utworzyć kodowane testy interfejsu użytkownika dla mojej aplikacji ze Sklepu Windows w systemie, który nie jest uruchomiony system Windows 8?
Element: nie, szablon kodowanych testów interfejsu użytkownika projektu (aplikacji ze Sklepu Windows) jest dostępna tylko w systemie Windows 8.
Pyt.: Dlaczego nie można zmodyfikować kod w pliku UIMap.Designer
Element: kod wprowadzonych zmian w pliku UIMapDesigner.cs zostaną zastąpione za każdym razem, gdy generowanie kodu za pomocą UIMap - kodowanych konstruktora testów interfejsu użytkownika.Jeśli trzeba zmodyfikować nagraną metodę, należy skopiować ją do pliku UIMap.cs i zmienić jej nazwę.Plik UIMap.cs może służyć do zastępowania metod i właściwości w pliku UIMapDesigner.cs.Musisz usunąć odwołanie do oryginalnej metody w pliku Coded UITest.cs, a następnie zastąpić je zmienioną nazwą metody.
Zobacz też
Koncepcje
Weryfikowanie kodu przy użyciu automatyzacji interfejsu użytkownika