【自动化测试】:python子类继承多个父类的问题
一、问题描述:
一个找回密码的页面:需要首先从登录界面跳转到找回密码页面,然后在找回密码页面输入手机号的自动化测试案例
因为每个页面都是封装好的,页面结构大致如下:
page_obj
|_______base.py
|_______loginPage.py
|_______findpasswordPage.py
login_sta.py
findpassword_sta.py
base.py是一个基础页面,包含对页面元素的操作函数,打开浏览器等;
loginPage.py是对页面元素的一些操作;
findpasswordPage.py是对找回密码页面元素的一些操作;
login_sta.py 是登录页面的测试用例;
findpassword.py是找回密码的测试用例;
因为找回密码涉及到先从登录页面跳转到找回面页面,有一个准备动作,
所以在findpasswordPage试图操作loginPage的元素时候,必须让findpasswordPage集成loginPage的类.
二、
在loginPage.py的login类中,继承了base.py的Page类,
class login(Page):
在findpasswordPage.py的findpassword类中,继承了base.py的Page类,同时也继承了loginPage.py的login类,
class findpassword(login, Page):
如果findpassword的类继承携程
class findpassword(Page,login):
会提示一个错误:TypeError: Cannot create a consistent method resolution order (MRO) for bases Page, login
原因是:按照这种写法,会导致无法确认类之间的关系,会导致继承关系混乱

findpassword类的继承改为
class findpassword(login, Page):
则问题解决。

浙公网安备 33010602011771号