El mejor de la historia, resumen del archivo de configuración del marco test-yaml de automatización de la interfaz (muy detallado)


prefacio

El archivo yaml es un tipo de archivo de configuración. En comparación con los archivos de configuración ini y conf, es más conciso y fácil de operar, y puede almacenar diferentes tipos de datos al mismo tiempo.

Introducción y uso de yaml

1. Introducción a yaml
El objetivo de diseño del lenguaje YAML ( /ˈjæməl/ ) es facilitar la lectura y escritura humana. Es esencialmente un formato de serialización de datos de propósito general.

YAML es un formato muy flexible, casi un superconjunto de JSON. Además de admitir comentarios, delimitadores de nueva línea, cadenas de varias líneas, cadenas desnudas y un sistema de tipos más flexible, YAML también admite archivos de referencia para evitar la duplicación de código.

2. Reglas gramaticales de Yaml
Reglas gramaticales básicas:
distingue entre mayúsculas y minúsculas;
use sangría para indicar una relación jerárquica;
no se permite la tecla de tabulación para la sangría, solo se permiten espacios;
la cantidad de espacios para la sangría no es importante, siempre que los elementos de la misma nivel están alineados a la izquierda Eso es todo,
#significa un comentario, desde este carácter hasta el final de la línea, será ignorado por el analizador;

3. Estructura de datos de Yaml
Objeto: una colección de pares clave-valor, también conocida como mapeo (mapping), hash (hashes), diccionario (diccionario);
matriz: un conjunto de valores ordenados, también conocido como secuencia (secuencia), Lista (lista);
escalares (escalares): un valor único e indivisible;


La forma del objeto Mapa (atributo y valor) (par clave-valor):
clave:(espacio)valor : indica un par de pares clave-valor, y el espacio no se puede omitir.

person:
    name:vivi
    age:18

Una línea de escritura:

person:{
    
    name: vivi,age: 18}

Equivalente al formato JSON:

{
    
    "name":"vivi","age":18}

Matriz:
un conjunto de líneas que comienza con una línea de partición, formando una matriz. El símbolo "-" se agrega antes de la matriz, y el símbolo y el valor deben estar separados por espacios.

color:
   - red
   - blue
   - green

Una línea de escritura:

color: [red,blue,green]

Equivalente a JSON:

["red","blue","green"]

Escalar:
Un valor único e indivisible. (como: cadena, valor booleano, entero, número de punto flotante, hora, fecha, nulo, etc.)

n1:8
n2:8.8
n3:true
n4:false
n5:'vivi'

El uso de archivos de configuración yaml

1. Preparación del archivo de configuración de yaml
Cree una nueva configuración de directorio en el proyecto y cree un nuevo archivo config.yaml en el directorio.

A1

Escriba la configuración de la base de datos en el archivo de configuración config.yaml.

mysql:
  host: "127.0.0.1"
  port: 3306
  user: "vivi"
  password: "123456"
  db: "ITester"
  charset: "utf8"

2. Verificación del formato de los archivos de configuración de yaml
Los estudiantes que acaban de aprender sobre yaml pueden no dominar el formato yaml y pueden tener errores de formato Aquí recomendamos un sitio web en línea para verificar si el formato del archivo yaml que escribimos es correcto.

A2

Dirección en línea: https://www.bejson.com/validators/yaml_editor/

lectura y escritura del archivo de configuración yaml

Antes de leer el archivo yaml en python, debe instalar pyyaml ​​​​e importar el módulo yaml.

1. Instale pyYaml
para leer archivos yaml en python, necesita usar el módulo de terceros PyYaml.
Instalar comando:

pip install pyYaml

2. Análisis del código fuente del módulo yaml
Extraiga las funciones de carga y volcado del módulo yaml.

def load(stream, Loader=None):
    """
    Parse the first YAML document in a stream
    and produce the corresponding Python object.
    """
    if Loader is None:
        load_warning('load')
        Loader = FullLoader
    loader = Loader(stream)
    try:
        return loader.get_single_data()
    finally:
        loader.dispose()
        
def dump(data, stream=None, Dumper=Dumper, **kwds):
    """
    Serialize a Python object into a YAML stream.
    If stream is None, return the produced string instead.
    """
    return dump_all([data], stream, Dumper=Dumper, **kwds)

cargar:
convertir el flujo de yaml en un diccionario de python;

volcado:
convertir objetos de python en flujos yaml;

3. Leer y escribir archivos de configuración de yaml
Encapsule las clases para leer y escribir archivos de configuración de yaml.
Cree un nuevo archivo en el directorio común, config_handler.py se usa para leer y escribir yaml.

A2

config_handler.py

import yaml


class YamlHandler:
    def __init__(self,file):
        self.file = file
        
    def read_yaml(self,encoding='utf-8'):
        """读取yaml数据"""
        with open(self.file, encoding=encoding) as f:
            return yaml.load(f.read(), Loader=yaml.FullLoader)
            
    def write_yaml(self, data, encoding='utf-8'):
        """向yaml文件写入数据"""
        with open(self.file, encoding=encoding, mode='w') as f:
            return yaml.dump(data, stream=f, allow_unicode=True)


if __name__ == '__main__':
    data = {
    
    
        "user":{
    
    
            "username": "vivi",
            "password": "123456"
        }
    }
    # 读取config.yaml配置文件数据
    read_data = YamlHandler('../config/config.yaml').read_yaml()
    # 将data数据写入config1.yaml配置文件
    write_data = YamlHandler('../config/config1.yaml').write_yaml(data)
    print(read_data)

El resultado de la operación es:

{
    
    'mysql': {
    
    'host': '127.0.0.1', 'port': 3306, 'user': 'vivi', 'password': '123456', 'db': 'ITester', 'charset': 'utf8'}}

Datos escritos en config1.yaml.
config1.yaml

user:
  password:'123456'
  username:vivi
El siguiente es el diagrama de sistema de arquitectura de conocimiento de aprendizaje de ingeniero de prueba de software más completo en 2023 que compilé

1. De la entrada al dominio de la programación en Python

Por favor agregue una descripción de la imagen

2. Proyecto de automatización de interfaz de combate real.

Por favor agregue una descripción de la imagen

3. Combate real del proyecto de automatización web

Por favor agregue una descripción de la imagen

4. Combate real del proyecto de automatización de aplicaciones

Por favor agregue una descripción de la imagen

5. Hoja de vida de los fabricantes de primer nivel

Por favor agregue una descripción de la imagen

6. Probar y desarrollar el sistema DevOps

Por favor agregue una descripción de la imagen

7. Herramientas de prueba automatizadas de uso común

Por favor agregue una descripción de la imagen

Ocho, prueba de rendimiento JMeter

Por favor agregue una descripción de la imagen

9. Resumen (pequeña sorpresa al final)

No te detengas, no renuncies a tus sueños, aunque el camino por delante esté lleno de espinas, debes creer firmemente en él y avanzar paso a paso. Solo trabajando duro podemos ver los magníficos cambios en la vida y cosechar nuestro propio esplendor y logros.

La victoria pertenece a aquellos que no sucumben ante las dificultades, y el éxito llega a aquellos que nunca dejan de esforzarse. Usa el sudor para regar la persistencia, usa el coraje para disipar el miedo, y en el camino de perseguir tus sueños, mientras no te detengas, la bandera de la victoria eventualmente volará alto en tus manos.

No te dejes intimidar por el fracaso, sigue luchando y la cosecha se convertirá en la dulzura del éxito. Establece metas más altas, mantén tus pasos más firmes y escribe tu propio capítulo glorioso con trabajo duro y sudor.

Supongo que te gusta

Origin blog.csdn.net/shuang_waiwai/article/details/132209251
Recomendado
Clasificación