La guía completa: API Testing con Python
3.7 (16 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
312 students enrolled

La guía completa: API Testing con Python

Testea APIs sin postman con el Framework de automatización de pruebas de API REST
3.7 (16 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
312 students enrolled
Last updated 4/2020
Spanish
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 14.5 hours on-demand video
  • 13 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Desarrollar casos de prueba automatizados que te permitan mejorar la cobertura de tus pruebas sobre Web Apis (API REST)
Course content
Expand all 44 lectures 14:43:08
+ Entendiendo Python
12 lectures 03:41:33
Configuración de Entornos Python en Windows. Parte 2
06:41
Instalación de librerías con PIP
20:00
Entornos Virtuales Pyhton
12:09
Pycharm, Eclipse y otros IDE
15:50
Configuración de IDE (Entorno de desarrollo)
33:11

Listas y diccionarios

  • https://devcode.la/tutoriales/diccionarios-en-python/

  • https://devcode.la/tutoriales/listas-python/

Primeros pasos en Python parte 1
25:04

Expresiones regulares:

https://docs.python.org/3/library/re.html

https://docs.hektorprofe.net/python/funcionalidades-avanzadas/expresiones-regulares/


Ejemplos:

text = "ID: 2541684 Esta es una de las mejores clases de testing en Udemy expresion 2541684"


matching = re.findall('CLASES|udemy', text, re.IGNORECASE)


for result in matching:

    print(result)

------------------------------------------------------------------------------------------------------


text = "ID: 2541684 Esta es una de las mejores clases de testing en Udemy expresion 2541684"


search = re.search('2541684', text, re.IGNORECASE)

print(search)


if search:

    print ("Se encontro el valor")

    text = re.sub('2541684','******', text, re.IGNORECASE)

else:

    print("No se encontro el valor")


print(text)

-----------------------------------------------------------------------------------------------



text = "ID:2541684, Esta es una, de las mejores, clases de testing, en Udemy expresion 2541684"


split = re.split(',', text)


for result in split:

    print(result)

    if result == "ID:2541684":

        print("Se encontro el codigo")

        break



-------------------------------------------------------------------------------------------------


Scenario = {}


text = "Este texto contiene el valor del MyID_Venta:8952654 ahora"


PatronDeBusqueda = r"(?<=MyID_Venta:)\w+"


variables = re.findall(str(PatronDeBusqueda), text, re.IGNORECASE)


print (variables)


Scenario['btprcnro'] = str(variables[0])


print("Se almaceno el btprcnro = " + Scenario['btprcnro'])



------------------------------------------------------------------------------------------------


Primeros pasos en Python parte 2 (Regex)
37:18

Ejemplos:

text = "Este texto contiene el valor del Scenario:HOY ahora"


PatronDeBusqueda = r"(?<=Scenario:)\w+"


variables = re.findall(str(PatronDeBusqueda), text, re.IGNORECASE)

for variable in variables:

    if variable == 'HOY':

        dateToday = str(datetime.date.today().strftime("%d-%m-%Y"))

        text = re.sub('(Scenario:)([^&.]+)', dateToday, text, re.IGNORECASE)

        continue


print(text)


----------------------------------------------------------------------------------------------

API_hostAddressBase = u'http:\\UrlDeLaWebapi.com'

partHost = "\Endpoint\FECHA\Scenario:Today"


def get_full_host(_PartHost):

    _RegexPartHost = str(ReplaceWithContextValues(_PartHost))

    _endpoint = API_hostAddressBase + _RegexPartHost

    print(_endpoint)

    return _endpoint



def ReplaceWithContextValues(text):

    PatronDeBusqueda = r"(?<=Scenario:)\w+"

    variables = re.findall(str(PatronDeBusqueda), text, re.IGNORECASE)

    for variable in variables:

        if variable == 'Today':

            dateToday = str(datetime.date.today().strftime("%Y-%m-%d"))

            text = re.sub('(Scenario:)([^&.]+)', dateToday, text, re.IGNORECASE)

            continue

    return text


endpoint = get_full_host(partHost)

Primeros pasos en Python parte 3 (Regex)
09:47
Entendiendo UnitTest
23:17
Entendiendo Pytest
06:58

echo. ##################### TEST PATH #####################

python -m pytest UnitTestTrue.py UnitTest002.py Pytest.py --junit-xml=../results/results.xml

pause



Preview 15:28
+ REQUEST API Rest: Conociendo la librería.
9 lectures 02:24:07
Antes de empezar
05:36

APIs de ejemplo

  • https://docs.api.bible/reference

  • https://petstore.swagger.io/

  • https://api.nasa.gov/index.html

  • https://gorest.co.in/

vayan chusmeando esta otra:

  • https://developer.twitter.com/


Acá les dejo la documentacion oficial de Request:

https://2.python-requests.org/en/v2.9.1/


y otra guía de un sitio que frecuento mucho:

https://realpython.com/python-requests/


Endpoints Parte 1
10:26
Endpoints Parte 2
13:40
Headers
09:08
Body
12:46
Seguridad : Autenticación y Autorización
17:45
Autenticación OAuth 1.0 y OAuth 2.0
25:26
Testeo de API rest
26:14

Guía de Postman:

https://medium.com/@cesiztel/c%C3%B3mo-se-hace-api-testing-con-postman-978a521552f4


Pet Store:

https://petstore.swagger.io/


NASA:

https://api.nasa.gov/index.html


Biblia:

https://docs.api.bible/reference#authentication


Postman
23:06
+ Framework de Pruebas API Rest
13 lectures 04:58:14
Esqueleto de Framework BDD
10:45
(Paréntesis) ¿Que es Cucumber?
14:42
Inicializando el Framework & Metodo GET
25:24
Breve Repaso
14:06
Validando Códigos de Respuesta
11:18
Creando Body Request
33:44
Metodo POST | PUT
11:36
Parseando la APIs Response
39:45
Mejoras en Código
26:18
Conexiones SQL
34:31
Configurando otras APIs como entorno
37:42
Parseando APi Responses Parte 2
25:16
Parseando APi Responses Parte 3
13:07
+ Reportes Allure e integración en Pipelines de Jenkins
6 lectures 02:11:32

FORMATOS DE SALIDAS:

.XML

behave --junit --tags=-skip --no-skipped


BEHAVE BASICO

behave -f allure_behave.formatter:AllureFormatter -o .\allure-results -f pretty


Behave Avanzado!

behave -f allure_behave.formatter:AllureFormatter --tags=Integration --tags=-skip --no-skipped -o .\allure-results ./features -f pretty


behave debe ejecutarse donde se encuentre la carpeta "features"

./features ejecutar las pruebas desde otra carpeta

--tags=-skip --no-skipped Ocultar las pruebas skipped para el reporte

--tags=Integration tag de las pruebas

-o .\allure-results Salida de los resultados

-f pretty  Estilizar la salida por consola


https://behave.readthedocs.io/en/latest/install.html

Preview 20:20
Configuración Allure
10:34

Sitio Oficial:

https://docs.qameta.io/allure/


Descarga de allure commandline

https://bintray.com/qameta/maven/allure2/2.9.0


allure generate .\allure-results --output .\allure-report --clean && allure open --port 5000


allure generate Generar un nuevo reporte (ya debe existir la carpeta de resultados) .\allure-results

--output .\allure-report Salida de los datos del reporte. Si ya existe un reporte anterior aplicar --clean

allure open --port 5000 Abrir un nuevo reporte en el puerto 5000 de tu localhost.

Allure Reports
11:53

Descargalo en: https://jenkins.io/download/

Jenkins Instalacion y configuracion de librerías
51:31

Git

https://github.com/MervinDiazLugo/Udemy.ApiTesting.Python.git

Preview 31:04
Despedida
06:10
Requirements
  • Python Basico (deseable)
  • Testing de Software (deseable)
  • Lógica de programación
  • Ganas de Aprender!
Description

En este curso encontraras

Temario Basico:

  • Introducción a API REST

  • ¿Qué son las APIs y para qué sirven?

  • Las APIs y el testing

  • ¿Qué es Unit testing?

  • Librerias Unittest / pytest

  • Ciclo de vida de las Pruebas Automatizadas.

Temas técnicos:

  • Postman

  • Curl

  • Python orientado a pruebas de software.

  • Estructuras de datos.

  • Framworks de pruebas con python.

  • Preparacion de entornos Windows

  • Jenkins

  • Pipelines de ejecucion de pruebas.


Lenguaje: Python 3.4 o superior.

Librerías:

  • Pytest,

  • Unittest,

  • Requests,

  • Re (Regular Expressions),

  • Time,

  • json.

  • Allure (para reportes)

  • ObjectPath.


Who this course is for:
  • Testers con que requieran aprender todo sobre la automatización de pruebas de Web API
  • Desarrolladores que deseen implementar pruebas automatizadas para sus aplicaciones.
  • Cualquier persona que desee aprender una nueva tecnología