博客
关于我
macaca 测试web(2)
阅读量:796 次
发布时间:2023-02-06

本文共 1723 字,大约阅读时间需要 5 分钟。

使用ddt数据驱动测试登录功能 - 实践案例

引言

本文将介绍如何使用ddt数据驱动测试框架进行登录功能测试。通过实际案例展示测试用例设计与执行过程,探讨其优势和应用场景。

测试用例设计

本次测试聚焦登录功能的常见错误情况,设计了多组测试数据。通过这些数据,验证系统能够正确处理用户输入,提供友好提示。

测试数据

login_data = [    {'username': '北漂的', 'password': 'li1213456', 'id': 'tip_btn', 'assert': '该用户不存在'},    {'username': '', 'password': 'li123456', 'id': 'tip_input1', 'assert': '请输入登录用户名'},    {'username': '', 'password': '', 'id': 'tip_input1', 'assert': '请输入登录用户名'},    {'username': '', 'password': 'li123456', 'id': 'tip_input1', 'assert': '请输入登录用户名'},    {'username': '北漂的雷子', 'password': 'li123456', 'id': 'tip_btn', 'assert': '用户名或密码错误'},    {'username': '北漂的雷子', 'password': '', 'id': 'tip_input2', 'assert': '请输入密码'},    {'username': '北漂的雷子', 'password': '####', 'id': 'feed_recent', 'assert': '最新动态'},]

测试代码实现

基于上述数据,编写了一个测试类,使用Macaca框架执行登录测试。以下是代码示例:

import unittestfrom macaca import WebDriverimport timefrom BSTestRunner import BSTestRunnerclass BokeyuanTest(unittest.TestCase):    def setUp(self):        self.driver = WebDriver({'platformName': 'Desktop', 'browserName': 'electron'})        self.driver.init()        self.driver.get('https://passport.cnblogs.com/user/signin')    def tearDown(self):        self.driver.quit()    @ddt.data(*login_data)    def test_login(self, login_data):        self.driver.element_by_id('input1').send_keys(login_data['username'])        self.driver.element_by_id('input2').send_keys(login_data['password'])        self.driver.element_by_id('signin').click()        time.sleep(1)        self.assertTrue(self.driver.element_by_id(login_data['id']).text, login_data['assert'])

测试结果

运行上述测试用例,确保所有测试数据正确执行。Macaca框架的优势在于快速执行测试,减少开发和维护成本。

实践感受

通过本次测试实践,验证了ddt数据驱动测试的有效性。Macaca框架运行速度快,能够快速识别问题,适合快速迭代开发环境。未来工作中,将优化测试定位,提升测试效率。

转载地址:http://roufk.baihongyu.com/

你可能感兴趣的文章
mysql 随机数 rand使用
查看>>
MySQL 面试题汇总
查看>>
MySQL 面试,必须掌握的 8 大核心点
查看>>
MySQL 高可用性之keepalived+mysql双主
查看>>
MySQL 高性能优化规范建议
查看>>
mysql 默认事务隔离级别下锁分析
查看>>
Mysql--逻辑架构
查看>>
MySql-2019-4-21-复习
查看>>
mysql-5.6.17-win32免安装版配置
查看>>
mysql-5.7.18安装
查看>>
MySQL-8.0.16 的安装与配置
查看>>
MySQL-Buffer的应用
查看>>
mysql-cluster 安装篇(1)---简介
查看>>
mysql-connector-java.jar乱码,最新版mysql-connector-java-8.0.15.jar,如何愉快的进行JDBC操作...
查看>>
mysql-connector-java各种版本下载地址
查看>>
mysql-EXPLAIN
查看>>
MySQL-Explain的详解
查看>>
mysql-group_concat
查看>>
MySQL-redo日志
查看>>
MySQL-【1】配置
查看>>