Byte boss lo llevará a comprender las pruebas de automatización web en un artículo

1. ¿Qué es la prueba de automatización web?

Automatización (Automatización) se refiere al equipo, sistema o proceso de la máquina (producción, proceso de gestión) sin la participación directa de personas o menos personas, de acuerdo con los requisitos de las personas, a través de la detección automática, procesamiento de información, análisis y juicio, manipulación y control, para lograr el proceso objetivo esperado.

Esta es la definición de automatización en los libros de texto. Volviendo a las pruebas automatizadas, ¿qué son las pruebas automatizadas?

Se refiere a la prueba de que el proceso de prueba se lleva a cabo sin intervención humana o menos humana. En pocas palabras, es usar un programa o script para probar el programa. En las pruebas automatizadas web, se usa principalmente para salvar a los probadores de tareas tediosas. Se libera del contenido, principalmente para hacer algunas cosas que requieren múltiples entradas y múltiples ejecuciones. Por ejemplo, usamos valores límite y clases de equivalencia para diseñar una gran cantidad de datos de prueba que deben ejecutarse. Por ejemplo , cuando el proceso de negocio necesita ejecutarse muchas veces, podemos usarlo Pruebas de automatización web. Al mismo tiempo, también he preparado un video tutorial de prueba de software para todos, que se encuentra al final del artículo. Si lo necesita, puede verlo directamente o hacer clic directamente en la pequeña tarjeta al final del artículo. artículo para obtener el documento de información de forma gratuita.

2. Herramientas para pruebas de automatización web

Ahora, las principales herramientas de prueba web que usamos comúnmente son el conjunto de herramientas de selenio que incluyen

El navegador generalmente selecciona la biblioteca Python Selenium del controlador (chromedriver)
correspondiente al navegador Chrome

3. Instalación de ambiente para pruebas automatizadas web

La instalación del navegador y la descarga del siguiente paso del navegador están
bien

inserte la descripción de la imagen aquí

inserte la descripción de la imagen aquí

 

En cuarto lugar, el método de prueba automatizada web.

Las pruebas automatizadas web generalmente utilizan el mismo método de diseño de casos de prueba que las pruebas funcionales, utilizando la división de clases de equivalencia, valores límite, diagramas de causa y efecto, métodos de escenarios, etc.

Generalmente usamos el diseño de modo po para la implementación de pruebas de automatización web.

PO es la abreviatura de objeto de página. La idea central es reducir los códigos redundantes encapsulando elementos de la interfaz. Al mismo tiempo, en el mantenimiento posterior, si cambia el posicionamiento del elemento, solo necesita ajustar el código encapsulado por los elementos de la página para mejorar la capacidad de mantenimiento. de casos de prueba legibilidad.

El modo PO puede dividir una página en tres capas, capa de biblioteca de objetos, capa de operación y capa comercial.

Capa de biblioteca de objetos: encapsula métodos para localizar elementos.

Capa de operación: encapsula operaciones en elementos.

Capa empresarial: combina una o más operaciones para completar una función empresarial.

Por ejemplo, para iniciar sesión: debe ingresar el número de cuenta, la contraseña y hacer clic para iniciar sesión. Tres operaciones.

El script de prueba solo necesita llamar al código de la capa empresarial para completar

Cuando la página necesita aparecer, solo necesita probar el código, no necesita modificarlo en absoluto, solo necesita modificar la capa de operación.

5. Implementación de procesos de pruebas de automatización web

El proceso de prueba de automatización web es básicamente el mismo que la prueba funcional:

A continuación hemos iniciado sesión como ejemplo.

(1) Análisis de demanda

Por favor agregue una descripción de la imagen

Aquí tomamos el inicio de sesión del teléfono móvil como ejemplo

Por favor agregue una descripción de la imagen

 (2) Diseño de casos de prueba y datos de prueba.

Los casos de prueba de prueba automatizados no necesitan ser tan detallados como el diseño de prueba manual

[A continuación se muestran los datos de prueba] 

[
 {
    "username": "21888888888",
    "pwd": "123456",
    "code": "8888",
    "ast_msg": "账号格式不匹配",
    "desc": "用户名错误"
 },
  {
    "username": "12888888888",
    "pwd": "123456",
    "code": "8888",
    "ast_msg": "账号格式不匹配",
    "desc": "用户名错误"
  },
  {
    "username": "1088888888",
    "pwd": "123456",
    "code": "8888",
    "ast_msg": "账号格式不匹配",
    "desc": "用户名错误"
  },
  {
    "username": "138888888889",
    "pwd": "123456",
    "code": "8888",
    "ast_msg": "账号格式不匹配",
    "desc": "用户名错误"
  },
  {
    "username": "32888888888",
    "pwd": "123456",
    "code": "8888",
    "ast_msg": "账号格式不匹配",
    "desc": "用户名错误"
  },
  {
    "username": " ",
    "pwd": "123456",
    "code": "8888",
    "ast_msg": "用户名不能为空",
    "desc": "用户名错误"
  }
]

(3) Cree un entorno de prueba de automatización web

Se ha construido en la instalación del entorno anterior.

(4) Marco de prueba de automatización web de diseño

El contenido del modo de prueba general po incluye

inserte la descripción de la imagen aquí

 (5) Escribir código

Crear page_login en la carpeta po

	from selenium.webdriver.common.by import By

	from utils import UtilsDriver
	from base.page_base import BasePage

	# 界面对象层

  	class PageLogin(BasePage):

  	# 账号元素
  	def find_username(self):
     	return self.driver.find_element_by_id("username")
       	# return self.driver.find_element(*self.username)
      	# return self.get_element(self.username)

   	# 密码元素
   	def find_pwd(self):
      return self.driver.find_element(By.ID,"password")

  	# 验证码元素
    def find_vcode(self):
      return self.driver.find_element_by_id("verify_code")

    # 按钮开始登录元素
    def find_login_btn(self):
	   # return self.driver.find_element_by_name("sbtbutton")
       return self.driver.find_element(By.NAME,"sbtbutton")

	# 操作层
class HandleLogin(object):
    def __init__(self):
       self.page_login=PageLogin()

    def input_username(self,username):
        self.page_login.find_username().send_keys(username)

    def input_pwd(self,pwd):
      self.page_login.find_pwd().send_keys(pwd)

    def input_vcode(self,code):
       self.page_login.find_vcode().send_keys(code)
	
    def click_login_btn(self):
        self.page_login.find_login_btn().click()

	# 业务层
	# 输入用户名密码验证码 点击登录
class LoginProxy(object):
   def __init__(self):
     self.handle_login = HandleLogin()

  def login(self,username,pwd,code):
    self.handle_login.input_username(username)
    self.handle_login.input_pwd(pwd)
    self.handle_login.input_vcode(code)
    self.handle_login.click_login_btn()

Código de ejecución de script para crear test_login

# from selenium import webdriver
	from po.page_home import HomeProxy
	from po.page_login import LoginProxy
	from utils import UtilsDriver,get_data
	import time
	import pytest
	import allure
	
	@allure.feature("登录功能")
	class Test_login:
	    def setup_class(self):
	        self.login_p=LoginProxy()
	        self.home_p=HomeProxy()
	    def setup(self):
	        
	        # 进入首页
	        UtilsDriver.get_driver().get("http://127.0.0.1/")
	      
	        # 进入到login界面
	        self.home_p.go_login_page()
	    def teardown_class(self):
	        time.sleep(2)
	        UtilsDriver.quit_driver()
	
	    @pytest.mark.parametrize(["username","pwd","code","asrt_msg"],get_data())
        @allure.story("登录用户名错误")
	    def test_login_username_error(self,username,pwd,code,asrt_msg):
	        self.login_p.login(username,pwd,code)
	        time.sleep(1)
	        # 登录是否成功的预期结果
	        res = UtilsDriver.get_msg()
	        assert asrt_msg in res

(6) Ejecutar casos de prueba

Puede usar pytest para controlar la ejecución de casos de prueba

@pytest.mark.parametrize([“nombre de usuario”,“contraseña”,“código”,“asrt_msg”],get_data())

[pytest]
addopts = -s --alluredir report
testpaths = ./script
python_files = test_*.py *test.py
python_classes = Test_*
python_functions = test_*

(7) Generar informe de prueba

Puede usar allure para generar informes de prueba

inserte la descripción de la imagen aquí

 

PD: aquí hay una colección de tutoriales de autoaprendizaje para pruebas de software. Debería ser muy útil para los amigos que se están desarrollando en la industria de las pruebas. Para los amigos que lo necesiten, puede [hacer clic en la tarjeta pequeña al final del artículo para obtenerla gratis]. Además de los recursos básicos de nivel de entrada, los bloggers también recopilan una gran cantidad de recursos de automatización avanzados. Desde la teoría hasta el combate real, la unidad de conocimiento y acción realmente puede dominarlo. El conjunto completo de contenido se empaquetó en el disco de red y el contenido total es cercano a los 300 G.

☑ 215 episodios: un conjunto completo de cursos en video desde la base cero hasta la competencia
☑ [Courseware + código fuente]: tutoriales de apoyo completos
☑ 18 conjuntos: pruebe el código fuente del proyecto real
☑ 37 conjuntos: paquete de herramientas de prueba
☑ 268 preguntas: preguntas de entrevistas reales
☑ 200 plantillas: plantilla de currículum de entrevista, plantilla de plan de prueba, plantilla de informe de prueba de software, plantilla de análisis de prueba, plantilla de plan de prueba, informe de prueba de rendimiento, informe de prueba de rendimiento, plantilla de caso de uso de script de prueba de rendimiento (información completa)

Estos materiales deben ser el almacén de preparación más amplio y completo para los amigos que hacen [pruebas de software]. ¡Este almacén también me ha acompañado a través del viaje más difícil, y espero que también pueda ayudarlo a usted! Todo debe hacerse lo antes posible, especialmente en la industria técnica, debemos mejorar nuestras habilidades técnicas.

Vea videos tutoriales gratuitos en:

Un método muy pervertido pero que le permite dominar rápidamente las pruebas automatizadas (Web/automatización de interfaz/APP/Selenium/pruebas de rendimiento, etc.) 、【Pruebas automatizadas】Ideas de diseño de marcos de pruebas automatizadas, un conjunto completo de materiales de prueba de software y rutas de aprendizaje, etc. Para ver videos más emocionantes del maestro UP, preste atención a la cuenta UP. https://www.bilibili.com/video/BV1hj411z71j/?vd_source=74d0257ec7066cc4f9013524f0bb7013

 

Supongo que te gusta

Origin blog.csdn.net/HUA1211/article/details/132250101
Recomendado
Clasificación