在脚本中,有三个子类继承自父类Test_login,那么怎么同时获得三个子类的继承呢?
1、多重继承
下面用Test_flowdriver的子类继承自上面的三个子类。
新建一个工作流驱动的文件testtest_run_workflowV1.py
主要是创建驱动类时,要把三个子类都继承过来
#创建业务流驱动子类 class Test_flow_driver(Test_addarticle,Test_buyarticle,Test_workflow):
然后最后main方法 就可以调用子类中的所有方法。
#***************************************** #v1.0:app业务场景脚本驱动,使用多重继承技术实现 #实现业务流程如下:根据业务流程设计进行类方法的调用 #***************************************** # 1、以作者身份登录 # 2、作者写文章 # 3、作者退出,用户登录 # 4、用户付费阅读购买文章 # 5、用户退出,作者登录 # 6、作者查看订单 # 7、作者退出 #*****************************************
代码如下:
#*****************************************
#v1.0:app业务场景脚本驱动,使用多重继承技术实现
#实现业务流程如下:根据业务流程设计进行类方法的调用
#*****************************************
# 1、以作者身份登录
# 2、作者写文章
# 3、作者退出,用户登录
# 4、用户付费阅读购买文章
# 5、用户退出,作者登录
# 6、作者查看订单
# 7、作者退出
#*****************************************
#导入类库
import time
from appium.webdriver.webdriver import WebDriver
from appium.webdriver.webdriver import By#点击新增文章按钮(可以不点击)
from selenium.webdriver import ActionChains
from selenium.webdriver.common.actions import interaction
from selenium.webdriver.common.actions.action_builder import ActionBuilder
from selenium.webdriver.common.actions.pointer_input import PointerInput#导入子类文件
from test_appsingle.test_loginV6 import Test_login
from test_addarticleV1 import Test_addarticle
from test_buyarticleV1 import Test_buyarticle
from test_workflowV1 import Test_workflow#创建业务流驱动子类
class Test_flow_driver(Test_addarticle,Test_buyarticle,Test_workflow):#业务流测试驱动方法def test_flow1(self):# 1、以作者身份登录self.test_cpas_init()self.test_login_init()self.test_author_login(1)# 2、作者写文章self.test_addarticle()# 3、作者退出,用户登录self.quit_relogin(1)# 4、用户付费阅读购买文章self.test_author_login(0)# 5、用户退出,作者登录self.quit_relogin(0)self.test_author_login(1)self.test_buy()# 6、作者查看订单self.workflow()self.check_order()# 7、作者退出self.quit_relogin(1)
if __name__ == '__main__':obj=Test_flow_driver()obj.test_flow1()
2、总结
1、动态且有联动关系的控件定位
方法1
所有组合都覆盖
判定表法
转化为代码
方法2
用静态属性进行定位
注意问题:有无空格,元素属性的值,是否存在空格
xml文件去找
2、业务流程分步研发
2.1作者身份:登录-->写文章
2.2用户身份:登录--->购买文章
2.3流程切换:退出--->重新登录
3、面向对象类的设计
3.1流程分支设计
3.2全流程设计
业务流程操作设计
多重继承类的设计
业务流程类的实现
1、首先要引入这3个类
2、继承3个子类
3、定义驱动的方法
self.父类方法名
直接调用对应的测试方法