Testowanie aplikacji systemu Windows Phone za pomocą kodowanych testów interfejsu użytkownika
Użyj kodowanych testów interfejsu użytkownika aplikacji systemu Windows Phone.
Utworzyć prostą aplikację systemu Windows Phone
Utwórz nowy projekt pustą aplikację systemu Windows Phone 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.
W oknie dialogowym właściwości nazwy formantu przycisk.
Nazwa formantu pola tekstowego.
Na powierzchnię projektanta kliknij dwukrotnie formant przycisku, a następnie 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ę systemu Windows Phone w emulatora i sprawdź, czy działa.
Zakończ emulatora.
Wdrażanie systemu Windows Phone aplikacji
Przed kodowanych testów interfejsu użytkownika można mapować formanty aplikacji, należy wdrożyć aplikację.
Zostanie uruchomiony program emulator.Aplikacja jest teraz dostępny do testowania.
Zatrzymaj emulator uruchomiona podczas tworzenia kodowane test interfejsu użytkownika.
Utwórz kodowanych testów interfejsu użytkownika aplikacji systemu Windows Phone
Dodaj nowy projekt kodowanych testów interfejsu użytkownika do rozwiązania z aplikacji systemu Windows Phone.
Wybierz edytować mapy interfejsu użytkownika za pomocą narzędzia krzyżyk.
Użyj narzędzia krzyżyk, aby wybrać aplikację, a następnie skopiuj wartość dla aplikacji AutomationId właściwość, która będzie można później uruchomić aplikację w teście.
W emulator Uruchom aplikację, a narzędzie krzyżyk i zaznacz kontrolkę przycisku.Następnie dodaj przycisk do mapy kontroli interfejsu użytkownika.
Aby dodać formant pola tekstowego do mapy kontrolki interfejsu użytkownika, powtórz poprzedni krok.
Generowanie kodu do tworzenia kodu dla zmian w planie kontroli interfejsu użytkownika.
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 generowania kodu dla metody potwierdzenia.
Visual C#
W Eksploratorze rozwiązań Otwórz plik UIMap.Designer.cs, aby wyświetlić kod, który został właśnie dodany do metody potwierdzenia i formanty.
Visual Basic
W Eksploratorze rozwiązań Otwórz plik CodedUITest1.vb.W CodedUITestMethod1() test kod metody, 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ć kod, który dodaje 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.AssertMethod1ExpectedValues.UITextBoxEditText, uITextBoxEdit.Text); }
Public Sub AssertMethod1() Dim uITextBoxEdit As XamlEdit = Me.UIApp1Window.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 virtual AssertMethod1ExpectedValues AssertMethod1ExpectedValues { get { if ((this.mAssertMethod1ExpectedValues == null)) { this.mAssertMethod1ExpectedValues = new AssertMethod1ExpectedValues(); } return this.mAssertMethod1ExpectedValues; } } public UIApp1Window UIApp1Window { get { if ((this.mUIApp1Window == null)) { this.mUIApp1Window = new UIApp1Window(); } return this.mUIApp1Window; } } #endregion #region Fields private AssertMethod1ExpectedValues mAssertMethod1ExpectedValues; private UIApp1Window mUIApp1Window; #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" 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" 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 do metody CodedUTTestMethod1 dla działań potrzebnych do uruchomienia testu.Za pomocą formantów, które zostały dodane do UIMap, aby dodać kod:
Uruchomienie aplikacji systemu Windows Phone przy użyciu właściwości identyfikator automatyzacji wcześniej skopiowane do Schowka:
XamlWindow myAppWindow = XamlWindow.Launch("ed85f6ff-2fd1-4ec5-9eef-696026c3fa7b_cyrqexqw8cc7c!App");
XamlWindow.Launch("ed85f6ff-2fd1-4ec5-9eef-696026c3fa7b_cyrqexqw8cc7c!App");
Dodaj gest do naciśnij przycisk kontrolki:
Gesture.Tap(this.UIMap.UIApp1Window.UIButtonButton);
Gesture.Tap(Me.UIMap.UIApp1Window.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 metody badania 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("ed85f6ff-2fd1-4ec5-9eef-696026c3fa7b_cyrqexqw8cc7c!App"); // Tap the button. Gesture.Tap(this.UIMap.UIApp1Window.UIButtonButton); this.UIMap.AssertMethod1(); }
<CodedUITest> 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("ed85f6ff-2fd1-4ec5-9eef-696026c3fa7b_cyrqexqw8cc7c!App") '// Tap the button. Gesture.Tap(Me.UIMap.UIApp1Window.UIButtonButton) Me.UIMap.AssertMethod1() End Sub
Uruchom kodowanych testów interfejsu użytkownika
Tworzenie testu, a następnie uruchom test za pomocą Eksploratora testów.
Uruchamia aplikację systemu Windows Phone, 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 potwierdza, że przekazana testu.
Użyj opartych na danych kodowanych testów interfejsu użytkownika w aplikacji Windows Phone
Aby przetestować różne warunki, kodowanych testów interfejsu użytkownika można uruchamiać wiele razy z różnymi zestawami danych.
Opartych na danych testów kodowanych interfejsu użytkownika dla systemu Windows Phone można definiować przy użyciu atrybutu DataRow metody testu.Następujący przykład, x i y wartości 1 i 2 można używać do pierwszej iteracji i wartość -1 -2 dla drugiego iteracji testu.
[DataRow(1, 2, DisplayName = "Add positive numbers")]
[DataRow(-1, -2, DisplayName = "Add negative numbers")]
[TestMethod]
public void DataDrivingDemo_MyTestMethod(int x, int y)
Pytania i odpowiedzi
Pyt Dlaczego nie można odnaleźć że szablon do tworzenia systemu Windows Phone kodowanych projektu testowego interfejsu użytkownika?
Element: Upewnij się, że zainstalowano programu Visual Studio 2013 Update 2 lub nowszej.
Pyt należy wdrożyć aplikację systemu Windows Phone w emulatora w celu mapowania formantów interfejsu użytkownika?
Element: tak, kodowane konstruktora testów interfejsu użytkownika wymaga, aby działać emulator aplikacji można wdrożyć do niej.W przeciwnym razie zgłoszą komunikat o błędzie informujący, nie można było znaleźć nie emulator uruchomione.
Pyt testy można wykonać dla emulatora tylko, czy można także użyć urządzenia fizycznego?
Element: jedną z tych opcji jest obsługiwany.Obiekt docelowy do wykonania testu jest wybierany zmiana typu emulator lub zaznaczając urządzenia na pasku narzędzi urządzenia.Jeśli wybrano urządzenia, urządzeniem Blue telefonu musi być połączony z jednym z portów USB komputera.
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 Windows Phone.
Pyt można utworzyć kodowanych testów interfejsu użytkownika dla Moje aplikacje systemu Windows Phone, na podstawie WinJS, Silverlight lub HTML5?
Element: nie, są obsługiwane tylko na podstawie XAML aplikacji.
Pyt można utworzyć kodowane testy interfejsu użytkownika dla Moje aplikacje systemu Windows Phone w systemie, który nie jest uruchomiony system Windows 8.1?
Element: nie, szablon kodowanych testów interfejsu użytkownika projektu (aplikacje systemu Windows Phone) jest dostępna tylko w systemie Windows 8.1.
Pyt można wybrać formanty, które są na zewnątrz emulatora?
Element: nie, konstruktora nie wykryje je.
Pyt mogę używać kodowane konstruktora testów interfejsu użytkownika do mapowania formantów przy użyciu telefonu fizycznego urządzenia?
Element: nie, konstruktora można tylko zamapować elementy interfejsu użytkownika, jeśli Twoja aplikacja została wdrożona na emulatora.
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.
Pyt można uruchomić kodowanych testów interfejsu użytkownika na mojej aplikacji systemu Windows Phone z wiersza polecenia?
Element: tak, użyj pliku runsettings, aby określić docelowe urządzenie potrzeby wykonywania testów.Na przykład:
vstest.console.exe “pathToYourCodedUITestDll” /settings:devicetarget.runsettings
Przykładowy plik runsettings:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<MSPhoneTest>
<!--to specify test execution on device, use a TargetDevice option as follows-->
<TargetDevice>Device</TargetDevice>
<!--to specify an emulator instead, use a TargetDevice option like below-->
<!--<TargetDevice>Emulator 8.1 WVGA 4 inch 512MB</TargetDevice>-->
</MSPhoneTest>
</RunSettings>
Pyt.: co to są różnic między kodowane testy interfejsu użytkownika dla aplikacji ze Sklepu Windows oparte na języku XAML i aplikacji systemu Windows Phone?
Element: to niektóre różnice klucza:
Funkcja |
Aplikacje Windows Store |
Aplikacje systemu Windows Phone |
---|---|---|
Cel dla testów |
Komputerze lokalnym lub zdalnym.Gdy użytkownik korzysta z automatycznych przypadek testowy do uruchamiania testów można określić komputerach zdalnych.Zobacz Automatyzacja przypadków testowych w programie Microsoft Test Manager. |
Emulator lub urządzenia.Zobacz, Q: testy można wykonać tylko emulatora lub można także użyć urządzenia fizycznego? w tym temacie. |
Wykonanie z wiersza polecenia |
Nie jest wymagane do określania docelowego pliku ustawień. |
Plik Runsettings jest wymagana do określania docelowego. |
Specjalne klasy formantów powłoki |
||
Formant widoku sieci Web w aplikacji języka XAML |
Obsługiwane w przypadku użycia Html * specjalistyczny klasy do interakcji z elementów HTML.Zobacz Microsoft.VisualStudio.TestTools.UITesting.HtmlControls. |
Nieobsługiwane. |
Uruchom testy automatyczne w MTM |
Obsługiwane. |
Nieobsługiwane. |
Testów opartych na danych |
Zobacz testów opartych na danych informacji o korzystaniu z zewnętrznych źródeł danych i przy użyciu źródła danych atrybutu metody testu. |
Dane są określony w tekście, przy użyciu atrybutu DataRow metody testu.Zobacz opartych na danych użyj kodowanych testów interfejsu użytkownika w aplikacji Windows Phone w tym temacie. |
Informacji o kodowane testy interfejsu użytkownika dla aplikacji ze Sklepu Windows, zobacz Testowanie aplikacji ze Sklepu Windows za pomocą kodowanych testów interfejsu użytkownika.
Zasoby zewnętrzne
Blog zarządzania cyklem życia aplikacji programu Visual Studio firmy Microsoft: za pomocą kodowanych interfejsu użytkownika do testowania aplikacji oparte na języku XAML systemu Windows Phone
Zobacz też
Koncepcje
Weryfikowanie kodu przy użyciu automatyzacji interfejsu użytkownika