5

Staramy się integrować testy w naszych codziennych kompilacjach za pomocą TestComplete, do tej pory mamy maszynę przeznaczoną do testowania i nasze kopie skryptu kompilacji do tego komputera, czego potrzebuje TestComplete do swoich testów (Aplikacja, Baza danych, Projekt skryptu testowego i pliki źródłowe, itp).Jak zautomatyzować uruchomiony proces testowy za pomocą TestComplete?

Zasadniczo możemy ręcznie otworzyć projekt TestComplete i uruchomić testy.

Teraz chcemy zautomatyzować ten proces, więc jak to zrobić? A jak myślisz, czy byłby to najprostszy i najlepszy sposób na automatyzację?

Podsumowując, chcemy zautomatyzować proces otwierania TestComplete po każdym kompilacji, uruchomić wszystkie testy i wysłać wiadomość e-mail z wynikami testu.

Ktoś może podzielić się doświadczeniem na ten temat?

Dzięki.

Odpowiedz

4

Odpowiadając na moje własne pytanie:

Roztwór pisanie trochę aplikacji C#, który siedzi na pasku systemowym i monitoruje folder.

Gdy nowy folder (zawierający kod źródłowy testu) zostanie dodany do monitorowanego folderu TestComplete zostanie wywołany za pomocą wiersza poleceń, aplikacja przechwyci jej kod ExitCode i wyśle ​​wiadomość e-mail z dołączonym do niej wygenerowanym plikiem dziennika.

zależności od exitCode wiem, co stało się w testach, możliwe ExitCodes są:

0 - Ostatnia próba nie przyniosła błędy lub ostrzeżenia.
1 - Ostatnie wyniki testu obejmują ostrzeżenia, ale brak błędów.
2 - Ostatnie wyniki testu zawierają błędy.
3 - Test nie może zostać uruchomiony z powodu błędu

Więcej informacji o kodach wyjścia można znaleźć w pliku pomocy TestComplete.

3

Cóż, chociaż nie korzystałem z TestComplete, użyłem konkurencyjnego pakietu o nazwie QA Wizard Pro. Ponieważ zadajesz to pytanie, zakładam, że nie jest to coś, co jest natywnie obsługiwane przez TestComplete. Kreator zapewniania jakości działa w ten sam sposób i oczekuje, że będzie uruchamiany ręcznie, a nie automatycznie, chociaż istnieją uruchamiane pliki testowe. Dla Kreatora kontroli jakości utworzyłem plik wsadowy, który był uruchamiany co wieczór z harmonogramu zadań. Konto do uruchomienia oprogramowania musi być w stanie współdziałać z pulpitem, a użytkownik musi być zalogowany na z wyświetlaczem na. Użyłem darmowego oprogramowania o nazwie AutoHotKey, aby zautomatyzować uruchamianie testów, a następnie niektóre narzędzia Cygwin, aby przeanalizować wyniki i wysłać wiadomość e-mail z wynikiem Blat. To nie jest doskonałe rozwiązanie, ale działa.

1
Set wshShell = CreateObject("WScript.Shell") 
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs(your script path)"" /r /p:(Project Name) /u:(Unit Name) /rt:(Method to be executed) /e /SilentMode") 

Skopiuj powyższe linie w Notatniku i zapisz jako plik .vbs.
Utwórz plik .bat i umieść go na zintegrowanym serwerze.
Przejrzyj ścieżkę wyżej wymienionego pliku .vbs, przechodząc przez plik bat, w pliku testowym programu Excel.

Dla pliku bat można pisać bezpośrednio te linie w notatniku jak

C:\WINDOWS\system32\cmd.exe 
WScript.Echo "" 
Set wshShell = CreateObject("WScript.Shell") 
wshShell.Run("""C:\Program Files\Automated QA\TestComplete 6\Bin\TestComplete.exe"" ""C:\Documents and Settings\My Documents\TestComplete 6 Projects\abc\abc.pjs"" /r /p:prj1 /u:Unit1 /rt:Test1 /e") 

zapisać ten plik txt z rozszerzeniem .bat. Następnie wygeneruj zadanie za pośrednictwem serwera CI.

2

Powinieneś również przyjrzeć się użyciu TestExecute. Jest to (znacznie tańszy) program z Zautomatyzowanej kontroli jakości, który wykonuje skrypty TestComplete.

Uchroni to użytkownika przed koniecznością posiadania pełnej licencji TestComplete na serwer kompilacji/testowej.

2

jeśli masz TestExecute, spróbuj tego. działa za każdym razem ....

C:\PROGRA~1\AUTOMA~1\TESTEX~1\Bin\TestExecute.exe "path\Project.pjs" /r /e 
0

Istnieją różne metody wykonywania tej czynności. Najlepszą i najsilniejszą metodą jest wykorzystanie Cruise control.NET do ciągłej integracji testów/cyklu rozwoju.

Druga metoda to utworzenie pliku wsadowego do uruchomienia Testuj kompletny skrypt za pomocą parametru wiersza poleceń. Zaplanuj działanie tego pliku wsadowego. Dołącz także jedną prostą aplikację (która zaktualizuje wynik testu w Excel/Test Cases) jako testApp. i wywołaj to po każdym teście/scenariuszu testowym. utwórz funkcję mailera, aby wysłać ten wynik po ukończeniu przebiegu TC.

już używając tych dwóch metod,

0

Najprostszym rozwiązaniem jest użycie plik wsadowy do wykonania testcomplete z linii poleceń, a następnie dodaj je do okien harmonogramu.

0

Możesz spróbować Jenkinsa. Najprościej rzecz ujmując, można utworzyć projekt z jednym krokiem kompilacji (skryptem wsadowym lub bash), który wywołuje Test zakończony lub Testuj wykonanie z wiersza polecenia w zaplanowanym czasie. Następnie możesz dodać dodatkowe kroki budowania zgodnie z wymaganiami. Na przykład, po uruchomieniu testów pobieramy najnowszą wersję skryptów Test Complete z kontroli kodu źródłowego. Jenkins ma ładne funkcje, takie jak archiwizowanie elementów kompilacji (w przypadku testu zakończone to dzienniki testowe), powiadomienia e-mail i monitorowanie repozytoriów kontroli źródła. Duża biblioteka wtyczek obejmuje większość innych rzeczy, które możesz dodać do swojego projektu.

1

Dla osób wciąż szukających tego: SmartBear opublikował wtyczkę TestComplete dla Jenkins. Tak, to może teraz być używane bez konieczności hacking rzeczy

Informacja o plug-in. https://plugins.jenkins.io/TestComplete

prasowa: https://smartbear.com/news/news-releases/smartbear-simplifies-continuous-delivery/

+0

Choć może to teoretycznie odpowiedzieć na pytanie, [to byłoby lepiej] (// meta.stackoverflow.com/q/8259), aby uwzględnić istotne części odpowiedzi tutaj, i podać link dla odniesienia. – Draken

Powiązane problemy