Tabla de contenidos: Introducción
-
- Prefacio
- 1. Programación en Python desde el nivel básico hasta el dominio
- 2. Implementación práctica de proyectos de automatización de interfaces.
- 3. Combate real del proyecto de automatización web.
- 4. Implementación práctica del proyecto de automatización de aplicaciones.
- 5. Currículums de los fabricantes de primer nivel.
- 6. Probar y desarrollar el sistema DevOps
- 7. Herramientas de prueba automatizadas de uso común
- 8. Prueba de rendimiento de JMeter
- 9. Resumen (pequeña sorpresa al final)
Prefacio
Marco de automatización de interfaz: basado en datos
Los datos de entrada y salida de la prueba aquí se leen de archivos de datos (grupo de datos, fuente ODBC, archivo CSV, archivo EXCEL, archivo Json, archivo Yaml, objeto ADO, etc.) y se generan mediante una herramienta de captura o un script de código generado manualmente. Cargar en variables.
En este marco, las variables se utilizan no solo para almacenar valores de entrada sino también para almacenar valores de verificación de salida. A lo largo del programa, el script de prueba lee el archivo numérico y registra el estado y la información de la prueba.
Esto es similar a las pruebas basadas en tablas, en las que los casos de prueba están contenidos en el archivo de datos en lugar de en el script, que es simplemente un "controlador" o un mecanismo de entrega de los datos.
Para decirlo de manera más simple: los datos de prueba y el código utilizados en el proceso de prueba se escriben y almacenan por separado.
Por ejemplo: los datos appid-sercet y los resultados esperados utilizados al probar la interfaz del token se colocan de antemano en un archivo de datos.
Por ejemplo:
el token de acceso en el proyecto es un dato de prueba requerido públicamente. Se genera una vez y tiene un período de validez de 7200 segundos. Generalmente, todas las pruebas de interfaz se pueden ejecutar en 2 horas.
Logre la adquisición única del valor del token, guárdelo en un archivo y luego use el valor del token en el archivo para completar la prueba.
1. Cree una nueva carpeta conf en el directorio raíz del proyecto y cree un nuevo archivo config.ini a continuación
2. Cree un nuevo archivo ini_file_utils.py en la carpeta py común
y escriba el código:
import os
import configparser
class IniFileUtils: #和框架业务无关的底层代码==》公共底层代码
def __init__(self,file_path):
self.ini_file_path = file_path
self.conf_obj = configparser.ConfigParser()
self.conf_obj.read(self.ini_file_path, encoding='utf-8')
def get_config_value(self,section, key):
value = self.conf_obj.get(section, key)
return value
def set_config_value(self,section, key, value):
self.conf_obj.set(section, key, value)
config_file_obj = open(self.ini_file_path, 'w')
self.conf_obj.write(config_file_obj)
config_file_obj.flush()
config_file_obj.close()
if __name__ == '__main__':
current_path = os.path.dirname(__file__)
config_file_path = os.path.join(current_path, '../conf/config.ini')
ini_file = IniFileUtils(config_file_path)
print(ini_file.get_config_value('default', 'HOSTS'))
ini_file.set_config_value('default','TOKEN_VALUE', 'SSS9090')
Ejecute para ver los resultados:
El valor de token_value en el archivo de configuración ini
3. Vuelva a escribir el archivo local_config.py y encapsule el valor en el archivo ini.
Escribir código:
import os
from common.ini_file_utils import IniFileUtils
current_path = os.path.dirname(os.path.abspath(__file__))
config_file_path = os.path.join(current_path, '../conf/config.ini')
class LocalConfig(): # #和框架业务有关系的底层代码
def __init__(self,file_path = config_file_path):
self.ini_file_obj = IniFileUtils(file_path)
@property
def get_hosts(self):
'''获取ini文件中的hosts值'''
hosts_value = self.ini_file_obj.get_config_value('default', 'hosts')
return hosts_value
@property
def get_token_value(self):
'''获取ini文件中的token_value值'''
token_value = self.ini_file_obj.get_config_value('default','token_value')
return token_value
local_config = LocalConfig()
if __name__ == '__main__':
print(local_config.get_hosts)
print(local_config.get_token_value)
Ver resultados de ejecución:
4. Modifique el archivo common_function.py y coloque el valor del token obtenido en el archivo ini.
Escriba el código:
import os
import jsonpath
from common.local_config import local_config
from common.common_api_info import CommonApiInfo
from common.ini_file_utils import IniFileUtils
current_path = os.path.dirname(os.path.abspath(__file__))
config_file_path = os.path.join(current_path, '../conf/config.ini')
def save_access_token_value_info_ini_file(session_obj,hosts):
"""获取access_token的值并写入到ini文件中"""
response = CommonApiInfo(session_obj,hosts).get_access_token_api('client_credential',
'wxf14419077f707856',
'92a113bd4b5ffdc72144740dc7123c99')
# 获取响应json中的access_token的值
token_value = jsonpath.jsonpath(response.json(), "$.access_token")[0]
# 把获取到的access_token值写入到ini文件中
IniFileUtils(config_file_path).set_config_value('default', 'token_value', token_value)
# return token_value
if __name__ == '__main__':
import requests
save_access_token_value_info_ini_file(requests.session(), local_config.get_hosts)
Después de la ejecución, verifique el valor de token_value en el archivo ini:
Se ha escrito el último valor del token.
5. Modifique el archivo run_api_tests.py y primero escriba el valor del token en el archivo ini.
6. Modifique el código de la capa de caso de uso y obtenga el archivo py del token:
script de código de la capa de caso de uso antes de la modificación VS después de la modificación.
Después de la modificación
Obtenga el archivo py del token:
7. Ejecute el archivo run_api_tests.py y vea los resultados de la ejecución;
Vista del informe
El valor del token se genera en Run_api_tests.py y se entrega al archivo de configuración ini. Cuando la prueba obtiene la interfaz del token, se llama al valor del token generado. Para evitar que el valor generado posteriormente sobrescriba el valor anterior y cause la configuración ini Para que el archivo deje de ser válido, se debe cambiar la interfaz del token de prueba. Cuentas diferentes (appid y secreta)
El siguiente es el diagrama del sistema de arquitectura de conocimiento de aprendizaje de ingenieros de pruebas de software más completo que compilé en 2023. |
1. Programación en Python desde el nivel básico hasta el dominio
2. Implementación práctica de proyectos de automatización de interfaces.
3. Combate real del proyecto de automatización web.
4. Implementación práctica del proyecto de automatización de aplicaciones.
5. Currículums de los fabricantes de primer nivel.
6. Probar y desarrollar el sistema DevOps
7. Herramientas de prueba automatizadas de uso común
8. Prueba de rendimiento de JMeter
9. Resumen (pequeña sorpresa al final)
La lucha es la base de la vida y la perseverancia es la contraseña del éxito; busca la excelencia, sigue adelante y compone música brillante con sudor. ¡Cree en tu propio potencial y talentos, supérate constantemente y crea tu propia y magnífica imagen de vida!
Acepta activamente los desafíos y entra con valentía en la etapa de la vida; mantén tus sueños en mente y persigue firmemente el éxito brillante. ¡No te detengas, no te detengas, sigue adelante, deja ir tu pasión; cree en tu propia fuerza, trabaja duro y escribe un capítulo brillante en la vida!
La confianza ilumina el camino por delante, el sudor riega las flores brillantes; el trabajo duro trasciende los límites y los sueños bailan con la melodía de la juventud. Cíñete a tu pasión, persigue la distancia y crea tu propia y magnífica leyenda. ¡Trabaja duro, tus talentos florecerán, avanzará con valentía y logrará una vida maravillosa!