pytestフレームワーク_assertアサーション

自動化されたテストケースで最も一般的に使用されるアサーションは、期待される結果が実際の結果と一致していることを表明する等式アサーションです。通常、私たちが主張する期待される結果と実際の結果のデータ型は、文字列、タプル、辞書、リスト、およびオブジェクトです。Pytestは、assertおよび==を介して、これらのデータ型の等価アサーションを完全にサポートできます。いくつかの一般的なデータ型のアサーション操作を紹介しましょう。

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()		判断元素在页面是否显示

"""

例外アサーション:
実行:1/0など、スローされた例外が予期されていないことを表明する場合、期待される結果は例外をスローします:ZeroDivisionError:ゼロ除算、次に例外をアサートする必要があり、通常はタイプをアサートしますと例外の価値それだけの価値があります。ここで、1/0の例外タイプはZeroDivisionErrorであり、例外の値はゼロによる除算である
ため、ユースケースは次のように設計できます。

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 

アサーションの例:

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

おすすめ

転載: blog.csdn.net/weixin_45451320/article/details/113926498