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 itemtest_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 itemtest_login.py::TestLogin::test_got_register_page
============================= 1 passed in 11.62s ==============================
PASSED [100%]
Process finished with exit code 0