1. Unittest框架
  • Test Case
    一个测试用例就是一个完整的单元
    模块名是以test开头,模块里的类要以Test开头,且类要继承unittest.TestCase
    类里面以test开头的方法会被识别成用例
    一个页面一个类,一个元素一个方法
  • Test Suite
    用来组装单个的测试用例,通过addTest加载到TestCase的TestSuite中,返回一个TestSuite实例
  • Test Runner
    测试执行
  • Test Fixture
    测试环境的搭建和清理,setUp和tearDown
@classmethod
def setUpClass(cls):
    print('测试套件级别的预处理')
@classmethod
def tearDownClass(cls):
    print("测试套件级别的环境清理")
def setUp(self):
    print("测试用例级别的预处理")
def tearDown(self):
    print("测试用例级别的清理环境")
  1. 自动化断言
    assertEqual()
    assertNotEqual()
    assertIn()
    assertNotIn()
    assertTrue()
    assertFalse()
  2. openpyxl
    下载
    pip install openpyxl
    打开excel文件
    workbook=openpyxl.load_workbook('example.xlsx')
    获取名为userinfo的工作表
    sheet = workbook['userinfo']
    读取单元格数据
    cell_value = sheet['A1'].value
    读取一行数据
    row_values = [cell.value for cell in sheet[1]]
    遍历所有数据
rows = sheet.iter_rows(min_row=2, values_only=True)
data = [list(row) for row in rows]
  1. xlrd
    下载
    pip install xlrd
    引入
    import xlrd
    打开excel文件
    data = xlrd.open_workbook(r"E:\data.xlsx")
    通过sheet名称打开
table = data.sheet_by_name("login")
table = data.sheet_by_index(0)

获取excel中的行和列
获取整行和整列的值

row_value = table.row_values(0)
col_value = table.col_values(0)

通过行列值获取单元格的值

cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(3,2).value

使用行或者列来获取单元格数据

cell_A1 = table.row(0)[0].value
cell_A2 = table.col(0)[1].value

获取行数和列数

nrows = table.nrows
ncols = table.ncols

5、ddt
下载
pip install ddt
@ddt.ddt 放在class上面
@ddt.data()放在用例上面,()里面是要传递的参数
@ddt.unpack 解包,将参数拆分开
6、套件
创建测试套件
suite = unittest.TestSuite()
加入要执行的测试用例
suite=unittest.defaultTestLoader.discover("./",'test_*.py')
创建执行器
runner = unittest.TextTestRunner()
执行测试套件
runner.run(suite)