求助,报错TypeError: main() missing 1 required positional argument: 'self'

来源:3-7 po模型之流程梳理完成注册页面常见case调试

仲夏rww

2020-07-31

老师,按照您说的授课流程一步步写的为什么报错TypeError: main() missing 1 required positional argument: ‘self’。 请老师帮我看看哪里有问题?

具体报错信息:
E:\Python3.7.1\python.exe F:/test_project/case/first_case.py
Traceback (most recent call last):
File “F:/test_project/case/first_case.py”, line 5, in
class FirstCase(object):
File “F:/test_project/case/first_case.py”, line 52, in FirstCase
main()
TypeError: main() missing 1 required positional argument: ‘self’

Process finished with exit code 1

代码详情
#PO模式:case、页面、数据全部分离开来
#下面是一条条的用例,case,只管输入
from selenium import webdriver
from business.register_business import RegisterBusiness
class FirstCase(object):
def init(self):
driver = webdriver.Chrome()
driver.get(‘http://www.5itest.cn/register’)
self.login = RegisterBusiness(driver)

#判断邮箱检验是否正确
def test_login_email_error(self):
    email_error = self.login.login_email_error('14','user111','111111','test1')
    if email_error == True:
        print('注册成功,此条case失败')
    #通过assert  判断是否是  error

# 判断用户名检验是否正确
def test_login_username_error(self):
    username_error = self.login.login_name_error('14@qq.com', '@#$', '111111', 'test1')
    if username_error == True:
        print('注册成功,此条case失败')

# 判断密码检验是否正确
def test_login_password_error(self):
    password_error = self.login.login_password_error('14@qq.com', 'user111', '1', 'test1')
    if password_error == True:
        print('注册成功,此条case失败')

# 判断验证码检验是否正确
def test_login_code_error(self):
    code_error = self.login.login_code_error('14@qq.com', 'user111', '1', 'test1')
    if code_error == True:
        print('注册成功,此条case失败')

# 是否注册成功,true是成功
def test_login_success(self):
    success = self.login.user_base('14@qq.com','user111','111111','test1')
    if self.login.register_sucess()== True:
        print("注册成功")

#把整体的结构分解出来,再一步步填入
def main(self):
    first = FirstCase()
    first.test_login_email_error()
    first.test_login_code_error()
    first.test_login_password_error()
    first.test_login_username_error()
    first.test_login_success()

if __name__ == '__main__':
    main()
写回答

1回答

Mushishi

2020-07-31

//img.mukewang.com/szimg/5f24079f0901751207050431.jpg你这个是一个类

//img1.sycdn.imooc.com/szimg/5f2407d409c9864506490345.jpg这个是类下面得方法 还是本身类里面的方法还是不是?如果是里面的方法这么肯定不是,如果是单独的方法 你这个写得不对呀。不是类里面得东西为啥要self?

0
4
仲夏rww
回复
Mushishi
是的呢老师,去掉中文加上utf-8以后 输入成功啦,谢谢老师
2020-08-04
共4条回复

Selenium3与Python3实战Web自动化测试框架

打破无项目经验、无框架经验瓶颈,实战Web自动化测试框架!

1884 学习 · 1093 问题

查看课程