pytest framework _assert aserción

En los casos de prueba automatizados, la aserción más comúnmente utilizada es la aserción de igualdad, que consiste en afirmar que el resultado esperado es consistente con el resultado real. Por lo general, los tipos de datos del resultado esperado y el resultado real que afirmamos son cadenas, tuplas, diccionarios, listas y objetos. Pytest puede soportar perfectamente la afirmación de igualdad de estos tipos de datos a través de assert y ==. Introduzcamos las operaciones de aserción de varios tipos de datos comunes.

import pytest

def test_01():
	"""
	常用断言
	"""
	assert aa == driver.find_element_by_link_text("新闻").text
    assert "aa" in driver.find_element_by_link_text("新闻").text
    assert "bb" not in driver.find_element_by_id("su").get_attribute("value")
    assert find_element_by_id("cc").is_selected()
    assert find_element_by_id("dd").is_displayed()

"""
【pytest_常用断言】
pytest 里面断言实际上就是 python 里面的 assert 断言方法,常用的有以下几种
assert xx :判断 xx 为真
assert not xx :判断 xx 不为真
assert a in b :判断 b 包含 a
assert a == b :判断 a 等于 b
assert a != b :判断 a 不等于 b


【selenium对元素进行判断:常用这两个】
driver.find_element_by_link_text("新闻").text	获取元素的文本值
driver.find_element_by_id("su").get_attribute("value")		获取元素value属性的值


driver.title	获取页面“title”,百度首页的title是“百度一下,你就知道”
driver.current_url	获取窗口的url
find_element_by_id("xx").is_selected()	判断元素是否被选择
find_element_by_id("kw").is_displayed()		判断元素在页面是否显示

"""

Aserción de excepción:
si queremos afirmar que la excepción lanzada no se espera, como la ejecución: 1/0, el resultado esperado es lanzar una excepción: ZeroDivisionError: división por cero, entonces tenemos que afirmar la excepción, generalmente afirmando el tipo y valor de la excepción Vale la pena. Aquí, el tipo de excepción de 1/0 es ZeroDivisionError, y el valor de la excepción es la división por cero,
por lo que el caso de uso se puede diseñar así:

import pytest
def test_zero_division():
	"""
	断言异常
	"""
    with pytest.raises(ZeroDivisionError) as excinfo:
        1 / 0
    assert excinfo.type == ZeroDivisionError
    assert "division by zero" in str(excinfo.value)

	"""
	断言2
	"""
	try:
      login = driver.find_element_by_name("tj_login")
    except ElementNotVisibleException:
      raise 

Ejemplos de afirmaciones:

def test_assertion():
    assert [1, 2, 3] == [1, 2, 4], "left is [1,2,3], right is [1,2,4]"


test_2.py::test_assertion ---进入要执行模块的的界面---
FAILED

================================== FAILURES ===================================
_______________________________ test_assertion ________________________________

    def test_assertion():
>       assert [1, 2, 3] == [1, 2, 4], "left is [1,2,3], right is [1,2,4]"
E       AssertionError: left is [1,2,3], right is [1,2,4]
E       assert [1, 2, 3] == [1, 2, 4]
E         At index 2 diff: 3 != 4
E         Full diff:
E         - [1, 2, 4]
E         ?        ^
E         + [1, 2, 3]
E         ?        ^

test_2.py:15: AssertionError
--------- generated html file: file://D:\se_frame\Reports\report.html ---------
=========================== short test summary info ===========================
FAILED test_2.py::test_assertion - AssertionError: left is [1,2,3], right is ...
============================== 1 failed in 9.49s ==============================

Process finished with exit code 0

Supongo que te gusta

Origin blog.csdn.net/weixin_45451320/article/details/113926498
Recomendado
Clasificación