Tecnología inalámbrica : Cisco Policy Suite for BNG

Automatice los API con el script maravilloso

18 Junio 2016 - Traducción Automática
Otras Versiones: PDFpdf | Comentarios

Introducción

Este documento describe cómo crear los programadores de la aplicación de un soapUI interconecta la petición (API) y cómo crear un caso de prueba del soapUI que los loopes sobre los pasos de prueba que automatizan el API piden a la habitación de la directiva de Quantum (QPS).

El caso de prueba del soapUI del ejemplo en los pasos de prueba de este implementa del artículo que leen un archivo del suscriptor ID y entonces crean y envían un querySubscriberRequst a QPS.

Contribuido por Tony Pina, ingeniero de Cisco TAC.

Cree un proyecto del soapUI

Antes de que usted comience este procedimiento, instale la aplicación del soapUI en su escritorio. Usted puede descargar la instalación del soapUI ejecutable de www.soapui.org.

Antes de que usted cree una petición o el caso de prueba API usted debe primero crear un proyecto del soapUI. Usted necesita el archivo del idioma descriptivo de los servicios web (WSDL) y el archivo de la descripción del esquema XML (XSD) para crear el proyecto. WSDL especifica los API soportados. Usted puede obtener normalmente WSDL y el XSD del QPS cuando usted funciona con estos comandos del balanceador de la carga (LB):

  • wget http://lbvip01:8080/ua/wsdl/UnifiedApi.wsdl
  • wget http://lbvip01:8080/ua/wsdl/UnifiedApi.xsd

Salve WSDL y el XSD en el mismo directorio en el escritorio donde usted planea ejecutar la aplicación del soapUI.

Complete estos pasos para crear el proyecto del soapUI:

  1. Elija el archivo > nuevo proyecto del soapUI de la ventana del soapUI:

  2. En la nueva ventana del proyecto del soapUI ingrese un nombre para el proyecto en el campo de nombre del proyecto y ingrese la ubicación en donde el archivo WSDL se salva en el campo inicial WSDL/WADL. Haga Click en OK cuando le hacen.

Cree una petición del soapUI API

Complete estos pasos para crear una petición del soapUI API:

  1. Amplíe el proyecto del soapUI que usted creó para ver los API. Usted puede también ampliar uno de los API para ver la petición.

    En este ejemplo, más querySubscriberRequest se amplía:

  2. Abra la petición para ver la ventana de la petición con el XML que forma la interrogación. En la ventana de la petición edite la dirección IP de http:// a la dirección IP y al puerto. Éste es normalmente la dirección IP lbvip01 y el puerto en donde usted quiere enviar la petición mientras que este ejemplo muestra:

  3. Modifique los campos en el XML con los datos que usted quiere enviar en su petición. En este ejemplo, la petición es una la más querySubscriberRequest. Modifique al suscriptor ID para el suscriptor que usted quiere preguntar y fijar el showDetailedInformatin a falso:

  4. Haga clic el botón Run Button verde en la cima de la ventana de la petición para funcionar con la interrogación.

Cree un caso de prueba del soapUI

Este procedimiento explica cómo crear a un conjunto de prueba que pueda automatizar cuando los API se envían al QPS.

En este ejemplo de procedimiento el conjunto de prueba coloca sobre una lista del suscriptor ID y después utiliza eso al suscriptor ID en el más querySubscriberRequest que envía a QPS. La lista del suscriptor ID es cada uno en una sola línea en un archivo de texto llamado subid.txt.

Complete estos pasos para crear al conjunto de prueba:

  1. En el proyecto del soapUI que usted creó, que cree a un nuevo conjunto de prueba. Haga clic con el botón derecho del ratón en el soapUI y elija nuevo TestSuite.

  2. Haga clic con el botón derecho del ratón al conjunto de prueba y elija el nuevo caso que sienta jurisprudencia.

  3. Haga clic con el botón derecho del ratón el caso de prueba y elija agregan el paso > script maravilloso para agregar un paso de prueba maravilloso del script. Nómbrelo fuente de datos:

  4. En el archivo de la fuente de datos pegue este código. Este código lee el C del archivo: /subid.txt que contiene a un suscriptor ID en cada línea:
    import com.eviware.soapui.support.XmlHolder def myTestCase = context.testCase 
    def counter,next,previous,sizeFile tickerEnumFile = new File("C:/subid.txt") //subscriber
    IDs sepearted by new line (CR). List lines = tickerEnumFile.readLines() size =
    lines.size.toInteger() propTestStep = myTestCase.getTestStepByName("Property - Looper")
    // get the Property TestStep propTestStep.setPropertyValue("Total", size.toString())
    counter = propTestStep.getPropertyValue("Count").toString() counter= counter.toInteger()
    next = (counter > size-2? 0: counter+1) tempValue = lines[counter]
    propTestStep.setPropertyValue("Value", tempValue) propTestStep.setPropertyValue
    ("Count", next.toString()) next++ log.info "Reading line : ${(counter+1)} /
    $lines.size"propTestStep.setPropertyValue("Next", next.toString()) log.info
    "Value '$tempValue' -- updated in $propTestStep.name" if (counter == size-1) {
    propTestStep.setPropertyValue("StopLoop", "T") log.info "Setting the stoploop property now..."}
    else if (counter==0) { def runner = new com.eviware.soapui.impl.wsdl.testcase.WsdlTestCaseRunner
    (testRunner.testCase, null) propTestStep.setPropertyValue("StopLoop", "F") } else{
    propTestStep.setPropertyValue("StopLoop", "F") }
  5. Haga clic con el botón derecho del ratón en el paso de prueba y elija agregan el paso > las propiedades para agregar un paso de prueba de la propiedad y nombrarlo propiedad - Looper.

  6. Agregue estas propiedades definidas por el usario del paso de prueba del Looper:
    • Total
    • Valor - En nuestro ejemplo este control el suscriptor ID leído en el suscriptor ID del archivo
    • Cuenta
    • Next (Siguiente)
    • StopLoop

  7. Haga clic con el botón derecho del ratón en el paso de prueba y elija agregan el paso > TestRequest para agregar un paso de prueba de la petición de la prueba y elegir la petición que usted quiere invocar:

    En este ejemplo, más querySubscriberRequest se utiliza.

  8. En la petición, el código de la extensión substituye los valores de campo de lo que usted pregunta. ¿En este ejemplo? ¿del SubscriberId=? en el más querySubscriberRequest se substituye por el código $ {propiedad de la extensión - Looper#Value} (soap_test_req_expansion_code):

    Propiedad - El Looper es el nombre de la propiedad TestStep creado previamente y el valor detiene al suscriptor actual ID leído en el archivo del suscriptor ID.

  9. Haga clic con el botón derecho del ratón en el paso de prueba y elija agregan el paso > script maravilloso y lo nombran loop de los datos:

  10. Pegue este código en el loop maravilloso de los datos del script:
    def myTestCase = context.testCase
    def runner
    propTestStep = myTestCase.getTestStepByName("Property - Looper")
    endLoop = propTestStep.getPropertyValue("StopLoop").toString()
    if (endLoop.toString() == "T" || endLoop.toString()=="True"
    || endLoop.toString()=="true")
    {
    log.info ("Exit Groovy Data Source Looper")
    assert true
    }
    else
    {
    testRunner.gotoStepByName("Groovy Script - DataSource") //go to the DataSource
    }
  11. En este ejemplo de procedimiento, un retardo de 1000 ms entre cada loop se agrega. Este paso es opcional.

    Con el retardo ahora hay cinco pasos de prueba:

  12. Haga clic el botón Run Button verde para funcionar con los cinco pasos de prueba en la ventana del caso que sienta jurisprudencia. 

Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.