本文共 1723 字,大约阅读时间需要 5 分钟。
本文将介绍如何使用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/