python 中 TypeError: self类型对象传入错误解决办法

错误收集

D:\Program\Util\python.exe "D:/Program/myUtil/PyCharm 2024.3.5/plugins/python-ce/helpers/pycharm/_jb_pytest_runner.py" --target test_login.py::TestLogin.test_got_register_page 
Testing started at 9:16 ...
Launching pytest with arguments test_login.py::TestLogin::test_got_register_page --no-header --no-summary -q in C:\Users\Administrator\PycharmProjects\PoPage

============================= test session starts =============================
collecting ... collected 1 item

test_login.py::TestLogin::test_got_register_page 

============================== 1 failed in 0.32s ==============================
FAILED                  [100%]
test_login.py:9 (TestLogin.test_got_register_page)
self = <test_login.TestLogin object at 0x0000024C8BB7E850>

    def test_got_register_page(self):
        (index_info.IndexPage
>        .goto_login_page()
          ^^^^^^^^^^^^^^^^^
         .login_to_register()
         .register())
E       TypeError: IndexPage.goto_login_page() missing 1 required positional argument: 'self'

test_login.py:12: TypeError

Process finished with exit code 1

问题分析

这个问题应该是 对象没有实例化所导致的,看下面的图片,IndexPage类并没有实例化

看到前面的

解决方法

方法1

修改代码直接实例化

def test_got_register_page(self):
    (index_info.IndexPage()
     .goto_login_page()
     .login_to_register()
     .register())

方法2

在当前类中添加一个属性,用于实例化IndexPage对象

运行结果

结果收集

D:\Program\Util\python.exe "D:/Program/myUtil/PyCharm 2024.3.5/plugins/python-ce/helpers/pycharm/_jb_pytest_runner.py" --target test_login.py::TestLogin.test_got_register_page 
Testing started at 9:44 ...
Launching pytest with arguments test_login.py::TestLogin::test_got_register_page --no-header --no-summary -q in C:\Users\Administrator\PycharmProjects\PoPage

============================= test session starts =============================
collecting ... collected 1 item

test_login.py::TestLogin::test_got_register_page 

============================= 1 passed in 11.62s ==============================
PASSED                  [100%]
Process finished with exit code 0
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值