一直提示缺少参数
来源:5-3 项目中实现数据驱动,重构case及business

红尘过客zuozs
2019-11-27
#coding=utf-8
import unittest
import os
import time
import sys
import ddt
sys.path.append(r'E:\Anaconda3\vscode\selenium3_to_python3')
from business.register_business import RegisterBusiness
from selenium import webdriver
import HTMLTestRunner
class FirstDdtCase(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.get('http://www.5itest.cn/register')
self.driver.maximize_window()
time.sleep(1)
self.register_b = RegisterBusiness(self.driver)
def tearDown(self):
time.sleep(2)
for method_name,error in self._outcome.errors:
print(method_name,error)
if error:
case_name = self._testMethodName
file_path = os.path.join(os.getcwd()+'/report/'+case_name+'.png')
self.driver.save_screenshot(file_path)
self.driver.close()
#邮箱、用户名、密码、验证码、错误信息定位元素、错误提示信息
@ddt.data(['12@qq.com','zuozs02','qqzuo123','code','user_email_error','请输入有效的邮箱地址'])
# ['@qq.com','zuozs02','qqzuo123','code','user_email_error','请输入有效的邮箱地址'],
# ['12@qq.com','zuozs02','qqzuo123','code','user_email_error','请输入有效的邮箱地址']
@ddt.unpack
def test_register_case(self,email,name,password,code,assertCode,assertText):
email_error = self.register_b.register_function(email,name,password,code)
self.assertFalse(email_error,'邮箱错误验证失败')
if __name__ == "__main__":
unittest.main()
************************************************************************
(base) E:\Anaconda3\vscode>E:/Anaconda3/python.exe e:/Anaconda3/vscode/selenium3_to_python3/case/first_ddt_case.py
DevTools listening on ws://127.0.0.1:7613/devtools/browser/f4eef894-b572-4c6b-a4ce-46e1d6e57469
libpng warning: iCCP: cHRM chunk does not match sRGB
test_register_case (__main__.FirstDdtCase) None
test_register_case (__main__.FirstDdtCase) (<class 'TypeError'>, TypeError("test_register_case() missing 6 required positional arguments: 'email', 'name', 'password', 'code', 'assertCode', and 'assertText'"), <traceback object at 0x0000025504B1F688>)
E
======================================================================
ERROR: test_register_case (__main__.FirstDdtCase)
----------------------------------------------------------------------
TypeError: test_register_case() missing 6 required positional arguments: 'email', 'name', 'password', 'code', 'assertCode', and 'assertText'
写回答
1回答
-
红尘过客zuozs
提问者
2019-11-27
找到原因了,原来是类的开头少了@ddt.ddt
012019-11-28
相似问题