Praca z programem Test Studio

W tym przewodniku Szybki start utworzysz testy dla aplikacji kanwy o nazwie Kudos. Możesz także eksplorować i odkrywać koncepcje testowania oraz zastosować je do pisania testów dla własnych aplikacji kanwy. Przykładowa aplikacja Kudos jest częścią pakietu aplikacji zwiększających zaangażowanie pracowników, które można pobrać z zestawu Employee Experience Starter Kit.

Obejrzyj ten film, aby dowiedzieć się, jak pracować z programem Test Studio:

Otwieranie programu Test Studio

  1. Zaloguj się do usługi Power Apps.

  2. Utwórz nową aplikację lub edytuj istniejącą aplikację.

  3. Zapisz aplikację w usłudze Power Apps, aby otworzyć program Test Studio.

    Uwaga

    Aby móc pisać testy dla aplikacji, należy najpierw zapisać aplikację.

  4. W obszarze nawigacji po lewej stronie wybierz pozycję Narzędzia zaawansowane.

  5. Wybierz pozycję Otwórz testy, aby otworzyć program Test Studio dla tej aplikacji. Ta akacja spowoduje otwarcie programu Test Studio w nowej karcie przeglądarki.

    Otwieranie programu Test Studio.

Uwaga

Testy są publikowane i przechowywane w pakiecie aplikacji. Eksportowanie i importowanie pakietu aplikacji kanwy do innego środowiska spowoduje również wyświetlenie wszystkich definicji utworzonych testów, takich jak zestawy testów i przypadki testowe.

Tworzenie zestawu testów

Domyślnie zestaw testów i przypadek testowy są tworzone w programie Test Studio. Zestawy testów służą do organizowania przypadków testowych. Aplikacja może zawierać jeden lub więcej zestawów testów. Możesz użyć domyślnego zestawu testów i przypadku, aby od razu rozpocząć pisanie testów, lub utworzyć nowy zestaw testów.

  1. Wybierz pozycję Nowy zestaw.

  2. Zaktualizuj nazwę i opis zestawu testów, wybierając pola w głównej siatce.

    Nowy zestaw testów.

Tworzenie przypadku testowego

W zależności od tego, jak chcesz organizować lub grupować testy, możesz utworzyć wiele przypadków testowych w zestawie testów. Każdy przypadek może przetestować określoną funkcję lub podzbiór funkcji w aplikacji.

  1. Wybierz zestaw testów.
  2. Wybierz pozycję Nowy przypadek w górnym menu, aby utworzyć nowy przypadek.
  3. Zaktualizuj nazwę i opis przypadku testowego, wybierając pola w głównej siatce.

Nowy przypadek testowy.

Rejestrowanie przypadku testowego

Przypadek testowy składa się z kroków testu zawierających akcje. Akcje testowe są pisane przy użyciu wyrażeń usługi Power Apps, które wykonują zadanie. Możesz użyć rejestratora, aby automatycznie wygenerować kroki testu podczas interakcji z aplikacją. Po ich wygenerowaniu możesz zaktualizować przypadek testowy, dodać nowe kroki, usunąć kroki i napisać asercje testowe w celu zweryfikowania wyniku testu.

Uwaga

Tylko opublikowana aplikacja jest odtwarzana w trybie rejestrowania. Przed rozpoczęciem rejestrowania przypadku testowego należy opublikować wszystkie ostatnie zmiany wprowadzone w aplikacji. Rejestrowanie bez opublikowania ostatnich zmian spowoduje, że w trybie rejestrowania będzie odtwarzana ostatnio opublikowana wersja aplikacji.

  1. Wybierz pozycję Rejestruj z górnego menu. Ta akcja spowoduje otwarcie opublikowanej aplikacji w trybie rejestrowania w nowej karcie przeglądarki.

    Ważne

    Rejestrowanie w istniejącym przypadku testowym zastępuje wszelkie już istniejące kroki testu.

    Rejestrowanie testów.

  2. Wejdź w interakcje z aplikacją. Twoje akcje będą rejestrowane w lewym okienku.

  3. Po zakończeniu interakcji wybierz przycisk Gotowe. Opcjonalnie możesz wybrać przycisk Anuluj, aby powrócić do programu Test Studio bez rejestrowania interakcji.

    Zapisywanie nagrania.

  4. Wyświetl kroki testu i wyrażenia, które zostały automatycznie wygenerowane w programie Test Studio.

  5. W razie potrzeby edytuj tekst opisu kroku w głównej siatce. Możesz także zaktualizować akcje kroku testu, wybierając formułę w głównej siatce.

    Aktualizowanie przypadku testowego.

Dodawanie kroków testu i asercji testowych

Każdy przypadek testowy powinien mieć oczekiwany wynik. W przykładzie aplikacji Kudos jednym z oczekiwanych wyników wysyłania pochwały (Kudo) jest utworzenie nowego rekordu w bazie danych usługi Microsoft Dataverse (Dataverse). Teraz zaktualizujesz przypadek testowy i dodasz dodatkowe kroki testu w celu zweryfikowania pomyślnego utworzenia rekordu.

Aby zweryfikować pomyślne utworzenie rekordu, wykonaj poniższe kroki:

  • Zainicjuj zmienną dla liczby rekordów Kudo w bazie danych na początku przypadku testowego.
  • Zainicjuj zmienną dla liczby rekordów Kudo w bazie danych na końcu przypadku testowego.
  • Napisz wyrażenie asercji testowej w celu weryfikowania, czy ta liczba jest zwiększana o jeden. Jeśli liczba nie zwiększa się o jeden, asercja testowa zakończy się niepowodzeniem i przypadek testowy zakończy się niepowodzeniem.

Aby dodać kroki testu i asercje testowe w aplikacji Kudos:

  1. Wybierz krok 1 lub krok, nad którym chcesz wstawić nowy krok.

  2. Wybierz pozycję Wstaw krok powyżej z górnego menu lub wybierz odpowiednią opcję z aktywnego wiersza. Ta akcja spowoduje utworzenie pustego kroku.

    Wstawianie kroku.

    Uwaga

    Po wybraniu opcji Wstaw krok powyżej zostanie dodany nowy pusty krok nad bieżącym krokiem. Możesz również użyć akcji Assert, SetProperty, Select lub Trace. Spowoduje to dodanie kroku z odpowiednią formułą akcji, którą możesz edytować.

  3. Zaktualizuj opis kroku. Na przykład „Zlicz rekordy Kudo w bazie danych”.

  4. Wprowadź wyrażenie lub formułę do danych wejściowych akcji, aby zliczyć rekordy w bazie danych przed wykonaniem testu.

    Możesz użyć dowolnego obsługiwanego wyrażenia. Możesz również wykonywać zapytania dotyczące dowolnych źródeł danych, kolekcji i zmiennych lub uruchamiać przepływy zawarte w aplikacji i tworzyć nowe globalne zmienne lub kolekcje do użycia w testach.

    Set(kudosBeforeTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  5. Select Step 2 or the step above which you want to insert a new step.

  6. Select Insert a step above from the top menu or by selecting the option from the active row. This action creates an empty step.

  7. Enter an expression or formula in the action input to Trace and write the kudosBeforeTest value to test the results record.

    Trace("kudosBeforeTest : " & kudosBeforeTest);
    

    Rekordy Kudo przed testem.

  8. Przejdź na dół przypadku testowego i wstaw nowy krok, aby policzyć rekordy w bazie danych po zakończeniu testu.

    Set(kudosAfterTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  9. Add a final step to validate that the record count in the database has increased by a count of 1, and enter the following assertion action to verify:

    Assert(kudosAfterTest = kudosBeforeTest + 1, "Kudos count incorrect. Expected : " & kudosBeforeTest + 1  & " Actual :" & kudosAfterTest)
    

    Rekordy Kudo po asercji testowej.

  10. Zapisz przypadek testowy za pomocą menu znajdującego się w prawym górnym rogu w programie Test Studio.

Odtwarzanie testu

Możesz odtworzyć zarejestrowany test w celu zweryfikowania funkcjonalności aplikacji. Możesz odtworzyć wszystkie testy w jednym zestawie testów lub pojedynczy przypadek testowy.

Zanim odtworzysz zarejestrowane nagranie z ostatnimi zmianami, musisz opublikować aplikację:

Odtwarzanie bez publikowania.

Ważne

W przypadku pominięcia publikowania odtwarzanie nagrania nie będzie uwzględniało ostatnich zmian w teście. Ostatni opublikowany przypadek testowy lub zestaw testów będzie odtwarzany dla aplikacji.

  1. Wybierz Opublikuj, aby automatycznie zapisać i opublikować test.

    Opublikuj zmiany.

  2. Wybierz zestaw testów lub pojedynczy przypadek testowy.

  3. Wybierz pozycję Odtwórz. Opublikowana aplikacja zostanie otwarta w trybie Odtwarzanie i zobaczysz, że kroki testu są odtwarzane automatycznie. Zielony znacznik wyboru wskazuje, że krok testu został wykonany pomyślnie. Jeśli krok nie powiedzie się, zostanie wyświetlony czerwony wskaźnik błędu wraz z komunikatem o błędzie.

    Tryb odtwarzania.

  4. Kliknij przycisk Gotowe, aby powrócić do programu Test Studio.

Asercja zakończona niepowodzeniem

W tej sekcji zmienisz asercję testu, aby zobaczyć test zakończony niepowodzeniem:

  1. Edytuj krok potwierdzenia, wybierając pole wyrażenia.

  2. Zaktualizuj wartość + 1 do + 2 w akcji testowej. Aktualizacja oznacza, że test oczekuje utworzenia dwóch rekordów, co jest nieprawidłowe. Jeśli test zakończy się pomyślnie, w bazie danych powinien zostać utworzony tylko jeden rekord.

    Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2  & " Actual :" & kudosAfterTest)
    

    Aktualizacja liczby asercji.

  3. Wybierz Publikuj.

  4. Wybierz pozycję Odtwórz.

  5. Zobacz, jak test jest odtwarzany. Ostatni krok kończy się niepowodzeniem i wyświetla błąd oraz komunikat podany w kroku asercji.

    Błąd odtwarzania.

Odtwarzanie testów w przeglądarce

Możesz skopiować link, aby odtworzyć test w oddzielnej przeglądarce poza programem Test Studio. Pomaga to zintegrować testy w potoku ciągłej kompilacji i wydawania, takim jak Azure DevOps.

Link odtwarzania dla wybranego testu zostaje utrwalony. Nie zmienia się dla zestawu testów ani przypadku testowego. Możesz aktualizować swoje testy bez konieczności modyfikowania procesów kompilacji i wydawania.

Aby odtworzyć testy w przeglądarce:

  1. Wybierz zestaw testów lub przypadek testowy w prawym okienku.

  2. Wybierz pozycję Kopiuj link odtwarzania.

    Kopiowanie linku odtwarzania.

  3. Jeśli istnieją jakieś nieopublikowane zmiany, zostanie wyświetlony monit o opublikowanie testów.

    Publikowanie przed skopiowaniem linku.

  4. Możesz pominąć proces publikowania i skopiować link odtwarzania. Nowe zmiany w testach nie będą odtwarzane w przypadku pominięcia publikowania.

    Skopiowany link odtwarzania.

  5. Otwórz przeglądarkę i wklej adres URL na pasku adresu, aby odtworzyć test.

  6. Wyświetl odtwarzanie testu.

Konfiguracja testów

Do skonfigurowania testu może być użyta właściwość OnTestCaseStart zestawu testowego. Wyrażenie wprowadzone w tej właściwości jest wyzwalane dla każdego przypadku testowego w zestawie przed rozpoczęciem wykonywania sprawy. OnTestCaseStart ułatwia zapisywanie na początku każdej sprawy tych samych kroków testowych. Możesz dostosować tę właściwość, aby uruchamiać zadania wspólne dla wszystkich przypadków w pakiecie, takie jak:

  • Zawsze rozpoczynaj wykonywanie testu od pierwszego ekranu.
  • Inicjowanie wspólnych kolekcji lub zmiennych.
  • Pobieranie danych testowych ze źródła danych dla bieżącego wykonywania testu

Rekord TestCaseInfo zawiera szczegółowe informacje na temat bieżącego testu, który jest wykonywany. Zawiera on następujące właściwości:

  • TestCaseName — nazwa przypadku testowego.
  • TestCaseDescription — opis sprawy testowej.
  • TestCaseId — identyfikator przypadku testowego.
  • TestSuiteName — nazwa zestawu testów, do którego należy przypadek.
  • TestSuiteDescription — opis zestawu testów.
  • TestSuiteId — identyfikator zestawu testów, do którego należy przypadek.

W poniższym przykładzie zostanie dostosowana właściwość OnTestCaseStart, która spowoduje, że każda sprawa testowa zaczyna się od pierwszego ekranu w aplikacji. Pobierzesz również dane testowe ze źródła danych, do którego można się odwoływać w krokach dla przypadku testowego.

  1. Wybierz liknij pozycję Test w lewym okienku lub kliknij pozycję Wyświetl w nagłówku pakietu.

    Testowanie lub wyświetlanie właściwości zestawu.

  2. Wybierz akcję OnTestCaseStart.

  3. Wprowadź wyrażenie, aby przejść do pierwszego ekranu i pobrać dane testowe do testu.

    //Start every cases on the first screen in the Kudos app
    Navigate('Dashboard Screen');
    
    //Initialize my test data for the current case. 
    Set(currentTestData, LookUp(KudosTestData, TestCase = TestCaseInfo.TestCaseName));
    
    //Set kudosBeforeTest to 0
    Set(kudosBeforeTest, 0)
    

    Przykład OnTestCaseStart.

Przetwarzanie wyników testów

Panel testu widoczny podczas odtwarzania testów w programie Test Studio nie jest widoczny w przypadku korzystania z przeglądarki. Przez to zachowanie nie można określić konkretnego kroku testu, który jest wykonywany, ani czy test kończy się powodzeniem lub niepowodzeniem.

Aby określić wyniki testów poza programem Test Studio, w obiekcie testu dostępne są dwie właściwości o nazwie OnTestCaseComplete i OnTestSuiteComplete, których można użyć do przetwarzania wyników testów. Podczas integrowania testów z potokiem ciągłej kompilacji i wydawania, takim jak Azure DevOps, tych właściwości można użyć do określenia, czy należy kontynuować wdrażanie aplikacji.

Wyrażenie wprowadzone dla tych właściwości jest wyzwalane po zakończeniu każdego przypadku lub zestawu. Można dostosować te właściwości, aby przetwarzać i wysyłać wyniki testów do różnych źródeł danych lub usług, takich jak:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Poczta e-mail usługi Office 365.

Te ustawienia mają zastosowanie do każdego zestawu testów lub przypadku testowego w aplikacji. Po zakończeniu każdego zestawu testów lub przypadku testowego wyniki testu i wszystkie komunikaty z funkcji Trace zawarte w testach są dostępne w rekordach TestCaseResult i TestSuiteResult.

Rekord TestCaseResult zawiera następujące właściwości:

  • TestCaseName — nazwa przypadku testowego.
  • TestCaseDescription — opis sprawy testowej.
  • TestCaseId — identyfikator przypadku testowego.
  • TestSuiteName — nazwa zestawu testów, do którego należy przypadek.
  • TestSuiteDescription — opis zestawu testów.
  • TestSuiteId — identyfikator zestawu testów, do którego należy przypadek.
  • StartTime — czas rozpoczęcia wykonywania testu.
  • EndTime — czas zakończenia wykonywania testu.
  • Traces — wynik wszelkich asercji testowych i komunikatów z funkcji Trace.
  • Success — wskazuje, czy przypadek testowy został ukończony pomyślnie.
  • TestFailureMessage — komunikat o błędzie, jeśli przypadek zakończył się niepowodzeniem.

Rekord TestSuiteResult zawiera następujące właściwości:

  • TestSuiteName — nazwa zestawu testów.
  • TestSuiteDescription — opis zestawu testów.
  • TestSuiteId — identyfikator zestawu testów.
  • StartTime — czas rozpoczęcia wykonywania zestawu testów.
  • EndTime — czas zakończenia wykonywania zestawu testów.
  • TestsPassed — liczba przypadków testowych ukończonych pomyślnie w zestawie.
  • TestsFailed — liczba przypadków testowych zakończonych niepowodzeniem w zestawie.

W tym przewodniku Szybki start utworzysz dwie niestandardowe tabele w bazie danych Dataverse do przechowywania wyników testu, dostosowując właściwości OnTestCaseComplete i OnTestSuiteComplete:

  1. Wybierz liknij pozycję Test w lewym okienku lub kliknij pozycję Wyświetl w nagłówku pakietu.

    Testowanie lub wyświetlanie właściwości zestawu.

  2. Wybierz akcję OnTestCaseComplete.

  3. Wprowadź wyrażenie, aby przetworzyć wyniki testu. Poniższy przykład zapisuje wyniki każdego przypadku testowego w niestandardowej tabeli w Dataverse. Wyniki testu można opcjonalnie zapisać w usłudze SQL, programie SharePoint lub dowolnym innym źródle danych. W razie potrzeby może być konieczne ustawienie lub zwiększenie pola Trace (Ślad) w źródle danych.

    Uwaga

    Z programem Microsoft Dataverse łączą się następujące próbki. Możesz utworzyć prostą aplikację lub skompilować aplikację od początku przy użyciu usługi Dataverse. Więcej informacji na temat modyfikowania rekordów źródła danych użytego w poniższych przykładach można znaleźć w dokumentacji funkcji Patch.

    //Save to Dataverse
    Patch(AppTestResults
    , Defaults(AppTestResults)
    , {
             TestPass: TestCaseResult.TestCaseName & ":" & Text(Now())
             ,TestSuiteId: TestCaseResult.TestSuiteId
             ,TestSuiteName: TestCaseResult.TestSuiteName
             ,TestCaseId: TestCaseResult.TestCaseId
             ,TestCaseName: TestCaseResult.TestCaseName
             ,StartTime: TestCaseResult.StartTime
             ,EndTime: TestCaseResult.EndTime
             ,TestSuccess: TestCaseResult.Success
             ,TestTraces: JSON(TestCaseResult.Traces)
             ,TestFailureMessage: TestCaseResult.TestFailureMessage
    }
    );
    

    Przykład akcji OnTestCaseComplete.

  4. Wybierz akcję OnTestSuiteComplete.

  5. Wprowadź wyrażenie, aby przetworzyć wyniki testu. W poniższym przykładzie zapiszesz wyniki każdego zestawu testów w niestandardowej tabeli AppTestSuiteResults w Dataverse.

    //Save to Dataverse
    Patch(AppTestSuiteResults
        , Defaults(AppTestSuiteResults)
        , {
             TestSuiteId: TestSuiteResult.TestSuiteId
             ,TestSuiteName: TestSuiteResult.TestSuiteName
             ,StartTime: TestSuiteResult.StartTime
             ,EndTime: TestSuiteResult.EndTime
             ,TestPassCount: TestSuiteResult.TestsPassed
             ,TestFailCount: TestSuiteResult.TestsFailed
        }
    );
    

    Przykład akcji OnTestSuiteComplete.

Inne przykłady wyrażeń, których można użyć w tych właściwościach:

  • Wyślij wyniki do przepływu w usłudze Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Wyślij wyniki pocztą e-mail.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Odbierz powiadomienia aplikacji o wyniku testu.

    Na przykład otrzymywanie powiadomienia po zakończeniu testu w przypadku odtwarzania testu w przeglądarce poza programem Test Studio.

    Notify(TestCaseResult.TestCaseName & " : "
            & If( TestCaseResult.Success
                , " Passed"
                , TestCaseResult.TestFailureMessage)
            ,If(  TestCaseResult.Success
                , NotificationType.Success
                , NotificationType.Error)
    )
    

Funkcje testów

Oprócz funkcji dostępnych w usłudze Power Apps, poniżej podano typowe funkcje, których zwykle będziesz używać podczas tworzenia testów:

Następne kroki

Uwaga

Czy możesz poinformować nas o preferencjach dotyczących języka dokumentacji? Wypełnij krótką ankietę. (zauważ, że ta ankieta jest po angielsku)

Ankieta zajmie około siedmiu minut. Nie są zbierane żadne dane osobowe (oświadczenie o ochronie prywatności).