Udostępnij za pośrednictwem


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

  1. 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.

    XAML różne opcje

  2. Utwórz nowy projekt o puste XAML za pośrednictwem aplikacji ze Sklepu Windows przy użyciu szablonu albo Visual C# lub Visual Basic.

    Tworzenie pustej aplikacji Sklepu Windows (XAML)

  3. W Eksploratorze rozwiązań Otwórz MainPage.xaml.Z przybornika przeciągnij powierzchnię projektową formant przycisku i formant pola tekstowego.

    Projektowanie aplikacji dla Sklepu Windows

  4. 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
    
  5. Naciśnij klawisz F5, aby uruchomić aplikację ze Sklepu Windows.

Tworzenie i uruchamianie kodowane testów interfejsu użytkownika dla aplikacji ze Sklepu Windows

  1. Utwórz projekt nowych testów interfejsu użytkownika kodowane dla aplikacji ze Sklepu Windows.

    Nowy projekt interfejsu użytkownika tet kodowane (aplikacje dla Sklepu Windows)

  2. Wybierz edytować mapy interfejsu użytkownika za pomocą narzędzia krzyżyk.

    Wybierz Edytuj mapę interfejsu użytkownika lub dodać potwierdzeń

  3. 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.

    Kopiuj do Schowka AutomationId

  4. 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.

    Dodaj do mapy interfejsu użytkownika

  5. 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.

    Generuj kod mapy interfejsu użytkownika

  6. Kliknij przycisk, aby ustawić wartość w polu tekstowym.

    Kliknij przycisk formantu i ustawiać wartość pola tekstowego

  7. Narzędzie krzyżyk zaznacz formant pola tekstowego, a następnie wybierz opcję tekstu właściwości.

    Wybierz właściwości Text

  8. Dodaj assertion.Aby sprawdzić, czy wartość jest poprawna go będą używane w teście.

    Wybierz testbox z krzyżyk i Dodaj potwierdzenia

  9. Dodaj i wygenerować kod potwierdzenia.

    Generuj kod potwierdzenia pole tekstowe

  10. 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.

    Informacje dotyczące przestrogiPrzestroga

    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
    
  11. 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:

    1. 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");
      
    2. Dodaj gest do naciśnij przycisk kontrolki:

      Gesture.Tap(this.UIMap.UIApp1Window. UIButtonButton);
      
      Gesture.Tap(Me.UIMap.UIApp2Window. UIButtonButton)
      
    3. 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
    
  12. Tworzenie testu, a następnie uruchom test za pomocą Eksploratora testów.

    Uruchom test kodowane interfejsu użytkownika z 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.

    Uruchamianie testu interfejsu użytkownika kodowane

    Po zakończeniu testu Eksploratora testów Wyświetla, że test przekazana.

    Wyświetla przekazanych testu Eksploratora testów

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

Ustawianie unikatowej właściwości automatyzacji dla formantów Sklepu Windows przeznaczonych do testowania