建网站需要编程吗,建设部网站官工程质量手册,物联网应用技术学什么,汽车网站建设流程图前言
在当今的互联网时代中#xff0c;接口自动化测试越来越成为软件测试的重要组成部分。Python是一种简单易学#xff0c;高效且可扩展的语言#xff0c;自然而然地成为了开发人员的首选开发语言。而requests和xlwt这两个常用的Python标准库#xff0c;能够帮助我们轻松…前言
在当今的互联网时代中接口自动化测试越来越成为软件测试的重要组成部分。Python是一种简单易学高效且可扩展的语言自然而然地成为了开发人员的首选开发语言。而requests和xlwt这两个常用的Python标准库能够帮助我们轻松地开发接口自动化测试更快更好地完成测试工作。 下面是这两个库在接口自动化测试中可带来的好处
1. requests可以方便地模拟发送HTTP请求实现接口测试支持GET、POST、PUT、DELETE等请求方式。使用requests我们可以轻松实现对接口的请求及返回结果的处理。
import requestsresponse requests.get(http://example.com)
2. requests提供了对HTTP头的复杂处理和特定认证方案的支持包括BasicDigestOAuth等。这意味着我们可以轻松地实现接口的授权认证。
import requestsresponse requests.get(http://example.com, auth(user, pass))
3. requests支持Cookie和Session的处理可以用来保证用户的身份认证或后续请求的连续性。这对于需要进行多次调用接口的测试非常有用。
4. xlwt库支持将测试结果以Excel格式将结果输出或记录。接口自动化测试有的时候需要输出测试报告xlwt可以方便地将测试结果输出为Excel表格。
import xlwtbook xlwt.Workbook(encodingutf-8)sheet book.add_sheet(Sheet1)sheet.write(0, 0, 接口名称)sheet.write(0, 1, 测试结果)sheet.write(1, 0, test API)sheet.write(1, 1, Pass)book.save(result.xls)
5. xlwt库为测试结果提供格式化的输出用户可以自定义表格样式以及表格内容的格式、字体、颜色、边框等以便用户快速理解接口测试结果对其做出有效的应对。
综上所述requests和xlwt是Python的两个基础库它们能够方便地完成接口自动化测试并且大大提高测试的效率和精度。因此如果您还没有使用它们进行接口自动化测试不妨试试看以下的接口自动化测试框架DEMO。 完整代码
import requestsimport xlwtimport xlrdimport unittestclass BaseTestCase(unittest.TestCase): url # 接口请求的 URL method GET # 接口请求的方法 data {} # 接口请求的数据 headers {} # 接口请求的头部 expected_code 200 # 预期的 HTTP 状态码 expected_result {} # 预期的响应结果 def setUp(self): 每个测试方法执行前调用 pass def tearDown(self): 每个测试方法执行后调用 pass def run_case(self, case): 动态创建的测试方法执行测试用例 self.url case[url] self.method case[method] self.data case[data] self.headers case.get(headers, {}) self.expected_code case.get(expected_code, 200) self.expected_result case.get(expected_result, {}) self.test_api() def test_api(self): 测试用例实现 response requests.request(self.method, urlself.url, headersself.headers, dataself.data) self.assertEqual(response.status_code, self.expected_code) # 断言响应的 HTTP 状态码是否与预期一致 self.assertDictEqual(response.json(), self.expected_result) # 断言响应的结果是否与预期一致def read_excel(file_path, sheet_name): workbook xlrd.open_workbook(file_path) # 打开 Excel 文件 sheet workbook.sheet_by_name(sheet_name) # 获取 Excel 工作表 rows sheet.nrows # 获取行数 cases [] for i in range(1, rows): # 从第 2 行开始读取测试用例 case {} case[url] sheet.cell_value(i, 0) # 读取接口请求的 URL case[method] sheet.cell_value(i, 1) # 读取接口请求的方法 case[data] sheet.cell_value(i, 2) # 读取接口请求的数据 case[headers] sheet.cell_value(i, 3) # 读取接口请求的头部 case[expected_code] int(sheet.cell_value(i, 4)) # 读取预期的 HTTP 状态码 case[expected_result] eval(sheet.cell_value(i, 5)) # 读取预期的响应结果 case[name] sheet.cell_value(i, 6) # 读取用例名称 cases.append(case) return casesdef write_excel(file_path, sheet_name, cases): workbook xlwt.Workbook() sheet workbook.add_sheet(sheet_name) sheet.write(0, 0, 用例编号) sheet.write(0, 1, 用例名称) sheet.write(0, 2, 测试结果) for i, case in enumerate(cases): sheet.write(i1, 0, i1) sheet.write(i1, 1, case.get(name, ) or case[url]) sheet.write(i1, 2, 通过 if case.get(result) else 失败) workbook.save(file_path)if __name__ __main__: cases read_excel(cases.xlsx, Sheet1) # 读取测试用例 suite unittest.TestSuite() # 创建测试套件 for case in cases: case_name case.get(name, ) or case[url] setattr(BaseTestCase, test_{}.format(case_name), lambda self, casecase: self.run_case(case)) # 动态创建测试方法并将测试用例绑定到测试方法上 unittest.TextTestRunner().run(suite) # 执行测试套件 write_excel(report.xls, Sheet1, cases) # 写入测试结果报告 下面详细介绍一下⬆️上方代码
1. 安装所需要的库和依赖项
pip install requestspip install xlwt2. 编写接口自动化测试基类及测试用例实现
import requestsimport xlwtimport unittestclass BaseTestCase(unittest.TestCase): url # 接口请求的 URL method GET # 接口请求的方法 data {} # 接口请求的数据 headers {} # 接口请求的头部 expected_code 200 # 预期的 HTTP 状态码 expected_result {} # 预期的响应结果 def setUp(self): 每个测试方法执行前调用 pass # 可以进行一些初始化工作 def tearDown(self): 每个测试方法执行后调用 pass # 可以进行一些清理工作 def test_api(self): 测试用例实现 response requests.request(self.method, urlself.url, headersself.headers, dataself.data) self.assertEqual(response.status_code, self.expected_code) # 断言响应的 HTTP 状态码是否与预期一致 self.assertDictEqual(response.json(), self.expected_result) # 断言响应的结果是否与预期一致 3. 编写 Excel 文件读取和解析函数
import xlrddef read_excel(file_path, sheet_name): workbook xlrd.open_workbook(file_path) # 打开 Excel 文件 sheet workbook.sheet_by_name(sheet_name) # 获取 Excel 工作表 rows sheet.nrows # 获取行数 cases [] for i in range(1, rows): # 从第 2 行开始读取测试用例 case {} case[url] sheet.cell_value(i, 0) # 读取接口请求的 URL case[method] sheet.cell_value(i, 1) # 读取接口请求的方法 case[data] sheet.cell_value(i, 2) # 读取接口请求的数据 case[headers] sheet.cell_value(i, 3) # 读取接口请求的头部 case[expected_code] int(sheet.cell_value(i, 4)) # 读取预期的 HTTP 状态码 case[expected_result] eval(sheet.cell_value(i, 5)) # 读取预期的响应结果 cases.append(case) return cases 4. 编写 Excel 结果报告写入函数
def write_excel(file_path, sheet_name, cases): workbook xlwt.Workbook() sheet workbook.add_sheet(sheet_name) sheet.write(0, 0, 用例编号) sheet.write(0, 1, 用例名称) sheet.write(0, 2, 测试结果) for i, case in enumerate(cases): sheet.write(i1, 0, i1) sheet.write(i1, 1, case.get(name, )) sheet.write(i1, 2, 通过 if case.get(result) else 失败) workbook.save(file_path) 5. 编写主函数
if __name__ __main__: cases read_excel(cases.xlsx, Sheet1) # 读取测试用例 suite unittest.TestSuite() # 创建测试套件 for case in cases: case_name case.get(name, ) or case[url] setattr(BaseTestCase, test_{}.format(case_name), lambda self, casecase: self.run_case(case)) # 动态创建测试方法并将测试用例绑定到测试方法上 unittest.TextTestRunner().run(suite) # 执行测试套件 write_excel(report.xls, Sheet1, cases) # 写入测试结果报告
这是一个简单的Python接口自动化测试项目可以通过Excel 文件管理测试用例支持多种 HTTP 请求方法和数据格式适用于各种接口自动化测试场景。
读到这了希望能够“分享并转发文章”让更多同学知道。 END配套学习资源分享
最后 为了回馈铁杆粉丝们我给大家整理了完整的软件测试视频学习教程朋友们如果需要可以自行免费领取 【保证100%免费】 加入我的软件测试qq交流群110685036免费获取~同行大佬一起学术交流每晚都有大佬直播分享技术知识点
软件测试面试文档
我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 编辑