how update testlink test case execution status remotely through selenium tutorial 3
Actualització remota de l’estat d’execució del cas de proves TestLink mitjançant Selenium WebDriver mitjançant l’API TestLink
Als dos primers tutorials de TestLink ( part 1 i part 2 ) hem après la instal·lació de TestLink, creant un projecte de prova, pla de proves, casos de prova, gestió de requisits, execució manual de casos de prova i generant informes de proves.
Avui coneixerem una característica important i avançada de TestLink, és a dir, actualitzar l’estat d’execució de casos de proves mitjançant el codi Selenium WebDriver mitjançant l’API TestLink. També us proporcionarem el codi exacte de seleni que podeu utilitzar per a aquesta trucada de l'API.
Amb aquesta funció, no heu d’iniciar sessió a TestLink cada vegada per actualitzar l’estat d’execució del cas de prova. Podeu fer-ho automàticament mitjançant l'API TestLink. Això us estalviarà molt temps d’execució manual.
Per demostrar aquesta característica, estem utilitzant Selenium WebDriver i actualitzem l'estat del cas de prova juntament amb la nota de prova a TestLink.
Vegem-ho a fons: com actualitzar l’estat d’execució de casos de proves de forma remota mitjançant el codi Selenium WebDriver i l’API TestLink mitjançant una trucada XML-RPC.
Prerequisits
- Cal fer tots els passos explicats al tutorial # 1 de TestLink.
- Esteu utilitzant Selenium per automatitzar les proves del vostre projecte.
- Els casos de prova automatitzats amb Selenium es poden actualitzar a TestLink mitjançant el codi Selenium.
Java
- Podeu descarregar java des de aquí .
- Feu doble clic al fitxer .exe i instal·leu Java al vostre sistema.
eclipsi
- Baixeu Eclipse per a Windows des de aquí .
- Es descarregarà com a paquet zip, extracteu-lo i col·loqueu-lo a la vostra unitat local.
Pots de biblioteca de seleni
Descarregueu el pot de seleni-java i el pot de seleni-independent aquí .
Junit-4.11
Descarregueu el pot Junit 4.11 des de aquí.
Pots de l'API del client TestLink
Descarregueu els pots de l'API Test Client des de aquí .
Què aprendreu:
- Activació de l'API TestLink
- Generació de clau API
- Canvi del mode d'execució
- Escriptura del codi de seleni
- Execució del codi de seleni
- Conclusió
- Lectura recomanada
Activació de l'API TestLink
Per a l'execució automàtica de casos de proves, la configuració de l'API TestLink s'hauria d'activar al fitxer de configuració.
Per activar l'API, seguiu aquests passos:
Pas 1) (Atura el servei Apache)
TestLink ja s'ha implementat a Apache. Abans de fer qualsevol modificació al fitxer de configuració, s'hauria d'aturar Apache.
Per fer-ho, obriu Control Panel -> Sistema i seguretat -> Eines administratives.
Feu doble clic a la icona de 'serveis'.
Feu clic al servei Apache 2.4 i feu clic a l'enllaç 'atura el servei' que apareix a la part esquerra.
Aturarà el servei Apache.
mostra de preguntes i respostes de l'entrevista de sortida
Pas 2) (Activeu l'API al fitxer de configuració de TestLink)
Obriu la carpeta TestLink que hi ha a dins htdocs carpeta i obriu Config.inc.php fitxer en mode d’edició.
Canvieu la línia següent a '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;
Deseu i tanqueu el fitxer.
Pas 3) (Inicieu el servei Apache)
Obriu el servei Apache tal com es descriu al pas 1 i inicieu-lo.
Generació de clau API
TestLink proporciona una clau d'API per a cada usuari que és essencial per actualitzar l'estat d'execució de casos de prova de manera automatitzada.
La clau API es pot generar mitjançant passos senzills, tal com s'explica a continuació:
Pas 1)
Obriu l'URL TestLink al navegador i inicieu la sessió amb les vostres credencials d'usuari.
Pas 2)
Obriu l'enllaç 'La meva configuració' a la pàgina d'escriptori TestLink.
Pas 3)
Feu clic al botó 'Genera una clau nova' a la secció Interfície API.
Es generarà una nova clau i es mostrarà a la pàgina.
Canvi del mode d'execució
Per actualitzar l'estat d'execució d'un cas de prova mitjançant l'API, el seu tipus d'execució hauria de ser 'Automatitzat'.
Canviar el tipus d'execució del cas de prova a Automatitzat:
Nota: Si seguiu aquesta pràctica d’actualització d’estat remot, podeu actualitzar el tipus d’execució a Automatitzat mentre creeu els casos de prova.
Obriu un cas de prova i feu clic a la icona 'Configuració' que apareix al tauler dret. Es mostrarà una llista d'operacions. Feu clic al botó 'Edita'.
en general, la majoria dels errors (defectes) es troben en quins dos períodes de prova?
Canvieu el tipus d'execució a 'Automatitzat'.
Feu clic al botó 'Desa'.
Anoteu el nom del cas de prova, el nom del projecte de prova, el nom del pla de prova i el nom de la compilació. Necessitarem aquests detalls al nostre codi Selenium.
En el nostre exemple,
Nom del projecte de prova: Gmail
Nom del pla de prova: SampleTestPlan
Nom del cas de prova: GmailLogin1
Nom de la compilació: SampleBuild
Escriptura del codi de seleni
Obriu Eclipse i creeu un projecte Java com es mostra a la figura següent.
Feu clic amb el botó dret del ratolí al projecte, aneu a Construir ruta -> Configura el camí de construcció, canvieu a la pestanya 'Biblioteques' i feu clic al botó 'Afegeix pots externs'.
Afegiu els pots següents al camí de construcció
- Pot Junit 4.11
- Pot de servidor independent de seleni
- Selenium - jar Java i totes les llibres (carpeta Library) jar
- TestLink Client API jar & all lib (carpeta Library) jar
Feu clic al botó 'D'acord'. Tots els pots s’afegiran al camí de construcció del projecte.
Creeu un paquet dins del fitxer src directori del projecte Java com es mostra a continuació:
Creeu una classe dins del paquet amb el nom 'AutomatedUpdateExample'.
Copieu el codi següent en aquesta classe:
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(); } } }
( Nota : actualitzeu el projecte de prova, el pla de prova, el cas de prova i el nom de la compilació al codi anterior segons els detalls del vostre projecte)
Deseu el fitxer.
Execució del codi de seleni
Depenent de l'execució de la prova a Selenium, l'estat del cas de prova TestLink s'actualitzarà com a 'Aprovat' o 'Fallit'.
Si el codi s'ha executat correctament sense excepcions, l'estat del cas de prova s'actualitzarà com a 'Aprovat'. En cas d'excepció, l'estat del cas de prova s'actualitzarà com a 'Fallit'.
Per executar el codi, feu clic dret sobre el fitxer i seleccioneu Executa com -> Prova Junit . Començarà a executar la prova.
Ara obriu TestLink al navegador i consulteu l'estat d'execució del cas de prova. S'hauria d'actualitzar.
com executar un fitxer json
Abans de l'execució
Després de l'execució
Conclusió
Espero haver explicat clarament com actualitzar l'estat d'execució del cas de prova TestLink automàticament mitjançant l'API TestLink.
Els verificadors poden actualitzar fàcilment l’estat d’execució dels casos de prova directament a TestLink sense haver d’iniciar sessió. Segur que us ajudarà a estalviar diners i temps. :)
Això torna a demostrar que TestLink és un bé Eina de gestió de proves de codi obert , que poden ser utilitzats per provadors manuals i experts en automatització.
Amb això, donem per finalitzada la nostra sèrie de tutorials TestLink. No dubteu a publicar les vostres consultes als comentaris.
Lectura recomanada
- Tutorial 4 de TestLink: mètriques de prova, gestió de paraules clau, camps personalitzats i gràfics d'informes de prova
- Marcs d'automatització de proves més populars amb avantatges i inconvenients de cadascun: Selenium Tutorial # 20
- Tutorial de TestLink: una guia per a l'eina de gestió de proves de TestLink (tutorial núm. 1)
- Escenaris de scripts i resolució de problemes de Selenium eficients: Tutorial Selenium núm. 27
- Introducció a Selenium WebDriver - Tutorial Selenium núm. 8
- Tutorials Eclipse en profunditat per a principiants
- Depuració d’escriptures de Selenium amb registres (Tutorial Log4j) - Tutorial Selenium núm. 26
- 30+ millors tutorials sobre seleni: apreneu el seleni amb exemples reals