rara vez conducen los datos

rara vez conducen los datos

Si una función de automatización, datos de prueba no es la misma, pero los pasos son los mismos, entonces usted puede utilizar el código de prueba paramétrica para guardar.

Rara vez es en el mantenimiento de una caja de pruebas automatizadas interfaz de usuario web, aquí para compartir con te das cuenta rara vez parametrizado.

GitHub: https: //github.com/SeldomQA/seldom


caso de prueba parametrizado


import seldom
from seldom import data


class BaiduTest(seldom.TestCase):

    @data([
        ("case1", "seldom"),
        ("case2", "selenium"),
        ("case3", "unittest"),
    ])
    def test_baidu(self, name, keyword):
        """
        参数化测试用例
        :param name: 用例名称
        :param keyword: 搜索关键字
        """
        self.open("https://www.baidu.com")
        self.type(id_="kw", text=keyword)
        self.click(css="#su")
        self.assertTitle(keyword+"_百度搜索")


if __name__ == '__main__':
    seldom.main()

Por @data()decorador está parametrizada casos de prueba, el uso es muy simple.

El código de escritura de datos de prueba que no es de manera particularmente elegante, especialmente en más datos durante mucho tiempo. Para entonces, la gestión de archivos de datos puede ser más elegante.


csv lectura

rara vez se apoya archivo de datos CSV análisis de la lista.

Leer el archivo CSV de datos.

import seldom
from seldom import data
from seldom import csv_to_list


class YouTest(seldom.TestCase):

    @data(csv_to_list(file="data.csv", line=2))
    def test_login(self, username, password):
        """a simple test case """
        self.open("https://login.xxx.com")
        self.type(id_="user", text=username)
        self.type(id_="pawd", text=password)
        # ...

csv_to_list() Métodos CSV contenido del archivo en una lista.

  • archivo: Especifica el archivo CSV prueba.
  • línea: Especifica el inicio de la lectura de las primeras líneas, la primera línea de defecto.

archivo CSV no soporta hoja múltiple, que requiere un conjunto separado de los datos se debe crear un archivo JSON, es necesario crear muchos archivos JSON por separado si después de más datos, que no es muy conveniente.


de archivos de lectura Excel

Rara vez los datos de soportes sobresalen archivos resueltos a la lista.

archivos de Excel pueden crear varias hojas de etiquetas, etiquetas con diferente gestión de datos.

import seldom
from seldom import data
from seldom import excel_to_list


class YouTest(seldom.TestCase):

    @data(excel_to_list(file="data.xlsx",  sheet="login", line=2))
    def test_login(self, username, password):
        """test login"""
        self.open("https://login.xxx.com")
        self.type(id_="user", text=username)
        self.type(id_="pawd", text=password)


    @data(csv_to_list(file="data.xlsx", sheet="search", line=2))
    def test_search(self, keyword):
        """test search """
        self.open("https://www.baidu.com")
        self.type(id_="kw", text=keyword)

excel_to_list() datos de archivo de método de Excel en una lista.

  • presentar: especificar una ruta absoluta del archivo de Excel.
  • la ficha técnica: Especifica la pestaña Excel, el nombre por defecto es Hoja1.
  • línea: Especifica el inicio de la lectura de las primeras líneas, la primera línea de defecto.


de archivos de lectura JSON

rara vez es compatible con el archivo de datos JSON se analiza en la lista / dict.

archivo JSON:

{
  "search":[
    ["python"],
    ["seldom"],
    ["unittest"]
  ],
  "login":  [
    ["admin", "admin123"],
    ["guest", "guest123"]
  ]
}

Un archivo JSON que también pueden representar diferentes formatos de archivo.

import seldom
from seldom import data
from seldom import json_to_list


class YouTest(seldom.TestCase):

    @data(json_to_list(file="data.json", key="login"))
    def test_login(self, username, password):
        """test login """
        self.open("https://login.xxx.com")
        self.type(id_="user", text=username)
        self.type(id_="pawd", text=password)


    @data(csv_to_list(file="data.json", key="search"))
    def test_search(self, keyword):
        """test search """
        self.open("https://www.baidu.com")
        self.type(id_="kw", text=keyword)

json_to_list() datos de archivo de método JSON en la lista / dict.

  • archivo: Especifica el archivo JSON ruta absoluta.
  • clave: Especifica la clave de diccionario, no se especifica un JSON por defecto analizar el archivo entero.


El uso de DDT terceros

ddt rara vez también es compatible con bibliotecas de terceros.

GitHub: https: //github.com/datadriventests/ddt

instalación:

> pip install ddt

Crear un archivo de prueba test_data.json:

{
    "test_data_1": {
        "word": "seldom"
    },
    "test_data_2": {
        "word": "unittest"
    },
    "test_data_3": {
       "word": "selenium"
    }
}

Rara vez se utiliza ddt.

import seldom
from ddt import ddt, file_data


@ddt
class YouTest(seldom.TestCase):

    @file_data("test_data.json")
    def test_case(self, word):
        """a simple test case """
        self.open("https://www.baidu.com")
        self.type(id_="kw", text=word)
        self.click(css="#su")
        self.assertTitle(word + "_百度搜索")


if __name__ == '__main__':
    seldom.main()

Más uso, consulte el documento ddt: https: //ddt.readthedocs.io/en/latest/example.html

Supongo que te gusta

Origin www.cnblogs.com/fnng/p/12537443.html
Recomendado
Clasificación