how update testlink test case execution status remotely through selenium tutorial 3
Aktualizowanie statusu wykonania przypadku testowego TestLink zdalnie przez Selenium WebDriver przy użyciu TestLink API
W pierwszych dwóch samouczkach TestLink ( Część 1 i część 2 ) nauczyliśmy się instalacji TestLinka, tworzenia projektu testowego, planu testów, przypadków testowych, zarządzania wymaganiami, ręcznego wykonywania przypadków testowych i generowania raportów z testów.
Dziś poznamy jedną zaawansowaną i ważną cechę TestLink, czyli aktualizację statusu wykonania przypadku testowego poprzez kod Selenium WebDriver za pomocą TestLink API. Udostępnimy również dokładny kod Selenium, którego możesz użyć do tego wywołania API.
Dzięki tej funkcji nie musisz za każdym razem logować się do TestLink, aby zaktualizować stan wykonania przypadku testowego. Możesz to zrobić automatycznie za pomocą TestLink API. Pozwoli to zaoszczędzić dużo czasu na ręczne wykonanie.
Aby zademonstrować tę funkcję, używamy Selenium WebDriver i aktualizujemy status przypadku testowego wraz z notatką testową w TestLink.
Przyjrzyjmy się dokładniej - jak zdalnie zaktualizować stan wykonania przypadku testowego za pomocą kodu Selenium WebDriver i interfejsu API TestLink za pośrednictwem wywołania XML-RPC.
Wymagania wstępne
- Należy wykonać wszystkie kroki opisane w samouczku TestLink # 1.
- Używasz Selenium do automatyzacji testów w swoim projekcie.
- Przypadki testowe, które są zautomatyzowane przy użyciu Selenium, można aktualizować w TestLink za pomocą kodu Selenium.
Jawa
- Możesz pobrać Javę z tutaj .
- Kliknij dwukrotnie plik .exe i zainstaluj Javę w swoim systemie.
Zaćmienie
- Pobierz Eclipse dla Windows z tutaj .
- Zostanie pobrany jako pakiet zip, rozpakuj i umieść na dysku lokalnym.
Selenium Library Jars
Pobierz słoik selenu-java i samodzielny słoik selenu z tutaj .
Junit-4.11
Pobierz jar Junit 4.11 z tutaj.
Jary API klienta TestLink
Pobierz pliki JAR API klienta testowego z tutaj .
Czego się nauczysz:
- Włączam TestLink API
- Generowanie klucza API
- Zmiana trybu wykonywania
- Pisanie kodu selenowego
- Wykonywanie kodu Selenium
- Wniosek
- rekomendowane lektury
Włączam TestLink API
Aby zautomatyzować wykonywanie przypadków testowych, konfiguracja API TestLink powinna być włączona w pliku konfiguracyjnym.
Aby włączyć interfejs API, wykonaj następujące kroki:
Krok 1) (Zatrzymaj usługę Apache)
TestLink został już wdrożony w Apache. Przed dokonaniem jakichkolwiek zmian w pliku konfiguracyjnym Apache należy zatrzymać.
Aby to zrobić, otwórz Panel sterowania -> System i bezpieczeństwo -> Narzędzia administracyjne.
Kliknij dwukrotnie ikonę „usługi”.
Kliknij usługę Apache 2.4, a następnie kliknij link „zatrzymaj usługę” pojawiający się po lewej stronie.
Spowoduje to zatrzymanie usługi Apache.
Protractor End to End Testowanie Framework dla aplikacji angularjs
Krok 2) (Włącz interfejs API w pliku konfiguracyjnym TestLink)
Otwórz folder TestLink w środku htdocs folder i otwórz Config.inc.php plik w trybie edycji.
Zmień następujący wiersz na „TRUE”.
/* (API) */ /** XML-RPC API availability - do less than promised FALSE => user are not able to generate and set his/her API key. XML-RPC server do not check this config in order to answer or not a call. */ $tlCfg->api->enabled = TRUE;
Zapisz i zamknij plik.
Krok # 3) (Uruchom usługę Apache)
Otwórz usługę Apache zgodnie z opisem w kroku 1 i uruchom ją.
Generowanie klucza API
TestLink zapewnia klucz API dla każdego użytkownika, który jest niezbędny do aktualizacji statusu wykonania przypadku testowego w sposób zautomatyzowany.
Klucz API można wygenerować za pomocą prostych kroków, jak wyjaśniono w poniższych krokach:
Krok 1)
Otwórz adres URL TestLink w przeglądarce i zaloguj się przy użyciu poświadczeń użytkownika.
Krok 2)
Otwórz łącze „Moje ustawienia” na stronie TestLink na pulpicie.
Krok 3)
Kliknij przycisk „Generuj nowy klucz” w sekcji Interfejs API.
ruch w sieci bezprzewodowej można przechwytywać za pomocą snifferów
Nowy klucz zostanie wygenerowany i wyświetlony na stronie.
Zmiana trybu wykonywania
Aby zaktualizować stan wykonania przypadku testowego za pośrednictwem interfejsu API, jego typ wykonania powinien być „Zautomatyzowany”.
Zmiana typu wykonania testu na automatyczne:
Uwaga: Jeśli stosujesz tę praktykę zdalnej aktualizacji statusu, możesz zmienić typ wykonania na Automatyczny podczas tworzenia samych przypadków testowych.
Otwórz przypadek testowy i kliknij ikonę „Ustawienia” pojawiającą się w panelu po prawej stronie. Wyświetli listę operacji. Kliknij przycisk „Edytuj”.
Zmień typ wykonania na „Zautomatyzowane”.
Kliknij przycisk „Zapisz”.
Zanotuj nazwę przypadku testowego, nazwę projektu testowego, nazwę planu testów i nazwę kompilacji. Będziemy potrzebować tych szczegółów w naszym kodzie Selenium.
W naszym przykładzie
Nazwa projektu testowego: Gmail
Nazwa planu testów: SampleTestPlan
Nazwa przypadku testowego: GmailLogin1
Nazwa kompilacji: SampleBuild
Pisanie kodu selenowego
Otwórz Eclipse i utwórz projekt Java, jak pokazano na poniższym rysunku.
Kliknij prawym przyciskiem myszy projekt, przejdź do Ścieżka budowania -> Konfiguruj ścieżkę budowania, przejdź do zakładki „Biblioteki” i kliknij przycisk „Dodaj zewnętrzne Jary”.
przykład planu testów dla aplikacji internetowej
Dodaj następujące pliki JAR do ścieżki kompilacji
- Słoik Junit 4.11
- Samodzielny słoik serwera Selenium
- Selenium - java jar & all libs (folder biblioteki) jar
- Plik jar API klienta TestLink & all lib (folder biblioteki) jar
Kliknij przycisk „OK”. Wszystkie pliki JAR zostaną dodane do ścieżki budowania projektu.
Utwórz pakiet w src katalog projektu java, jak pokazano poniżej:
Utwórz klasę w pakiecie o nazwie „AutomatedUpdateExample”.
Skopiuj następujący kod do tej klasy:
package com.test; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; import testlink.api.java.client.TestLinkAPIClient; import testlink.api.java.client.TestLinkAPIException; import testlink.api.java.client.TestLinkAPIResults; public class AutomatedUpdateExample { public static String DEVKEY='2f404203b306bd8dd811a7f824c194d0'; public static String URL='http://localhost/testlink/lib/api/xmlrpc/v1/xmlrpc.php'; public static void reportResult(String TestProject,String TestPlan,String Testcase,String Build,String Notes,String Result) throws TestLinkAPIException{ TestLinkAPIClient api=new TestLinkAPIClient(DEVKEY, URL); api.reportTestCaseResult(TestProject, TestPlan, Testcase, Build, Notes, Result); } @Test public void Test1()throws Exception { AutomatedUpdateExample a=new AutomatedUpdateExample(); WebDriver driver=new FirefoxDriver(); WebDriverWait wait=new WebDriverWait(driver, 600); String testProject='Gmail'; String testPlan='SampleTestPlan'; String testCase='GmailLogin1'; String build='SampleBuild'; String notes=null; String result=null; try{ driver.manage().window().maximize(); driver.get('https://accounts.google.com/ServiceLogin?service=mail&passive=true&rm=false&continue=https://mail.google.com/mail/&ss=1&scc=1<mpl=default<mplcache=2&emr=1'); driver.findElement(By.id('Email')).sendKeys('testlink.msoftgp'); driver.findElement(By.id('Passwd')).sendKeys('*******'); driver.findElement(By.id('signIn')).click(); driver.switchTo().defaultContent(); wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText('+Testlink'))); result= TestLinkAPIResults.TEST_PASSED; notes='Executed successfully'; } catch(Exception e){ result=TestLinkAPIResults.TEST_FAILED; notes='Execution failed'; } finally{ a.reportResult(testProject, testPlan, testCase, build, notes, result); driver.quit(); } } }
( Uwaga : zaktualizuj projekt testowy, plan testów, przypadek testowy i nazwę kompilacji w powyższym kodzie zgodnie ze szczegółami projektu)
Zapisz plik.
Wykonywanie kodu Selenium
W zależności od wykonania testu w Selenium, status przypadku testowego TestLink zostanie zaktualizowany jako „Zdany” lub „Niepowodzenie”.
Jeśli kod został wykonany pomyślnie bez żadnych wyjątków, status przypadku testowego zostanie zaktualizowany jako „Udany”. W przypadku jakichkolwiek wyjątków status przypadku testowego zostanie zaktualizowany jako „Niepowodzenie”.
Aby wykonać kod, kliknij plik prawym przyciskiem myszy i wybierz Uruchom jako -> Junit Test . Rozpocznie się wykonywanie testu.
Teraz otwórz TestLink w przeglądarce i zobacz stan wykonania przypadku testowego. Powinien zostać zaktualizowany.
Przed wykonaniem
Po wykonaniu
Wniosek
Mam nadzieję, że jasno wyjaśniliśmy, jak automatycznie aktualizować stan wykonania przypadku testowego TestLink za pomocą TestLink API.
Testerzy mogą łatwo aktualizować stan wykonania przypadków testowych bezpośrednio w TestLink bez konieczności logowania się. To z pewnością pomoże Ci zaoszczędzić cenny czas i pieniądze. :)
To kolejny dowód na to, że TestLink jest dobry Narzędzie do zarządzania testami typu open source , z którego mogą korzystać zarówno testerzy ręczni, jak i eksperci od automatyzacji.
Na tym kończymy serię samouczków TestLink. Zapraszam do zamieszczania zapytań w komentarzach.
rekomendowane lektury
- Samouczek 4 TestLink - Wskaźniki testowe, zarządzanie słowami kluczowymi, pola niestandardowe i wykresy raportów z testów
- Najpopularniejsze ramy automatyzacji testów z zaletami i wadami każdego z nich - samouczek Selenium nr 20
- Samouczek TestLink: Przewodnik dla laika po narzędziu do zarządzania testami TestLink (samouczek nr 1)
- Efektywne skrypty Selenium i scenariusze rozwiązywania problemów - samouczek Selenium nr 27
- Wprowadzenie do Selenium WebDriver - samouczek Selenium # 8
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Debugowanie skryptów Selenium za pomocą dzienników (samouczek Log4j) - samouczek Selenium # 26
- 30+ najlepszych samouczków dotyczących selenu: naucz się selenu z prawdziwymi przykładami