当前位置: 首页 > article >正文

APP综合应用之业务场景脚本测试任务(5)--多重继承与总结

在脚本中,有三个子类继承自父类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.父类方法名
                    直接调用对应的测试方法
                        
                            


http://www.kler.cn/news/363899.html

相关文章:

  • 程序人生-2024我的个人总结
  • Flask集成sqlalchemy (学习笔记)
  • 数据导入导出
  • 《Windows PE》6.4.2 远程注入DLL
  • 腾讯地图SDK 手势失效或冲突的解决办法
  • 在MySQL中建索引时需要注意哪些事项?
  • mov 转 mp4
  • 信号与系统学习:傅里叶级数
  • HarmonyOS 最新API12 创建云端一体化项目(带图展示)
  • 基于stm32的楼宇照明控制系统设计
  • 代码解释(10.20)
  • Oracle 第2章:安装与配置Oracle
  • react18中在列表项中如何使用useRef来获取每项的dom对象
  • 博饼代码【Python】
  • WPF MVVM模式实现DataGrid编辑
  • vue2.x 的依赖收集通知更新
  • 【力扣 | SQL题 | 每日4题】力扣1164,3293,1308,1270
  • 【scene_manager_msgs】ROS2 自定义消息、服务的包
  • 动态规划:17.简单多状态 dp 问题_买卖股票的最佳时机III_C++
  • OpenCV高级图形用户界面(17)设置一个已经创建的滚动条的最小值函数setTrackbarMin()的使用
  • 七、高级查询和数据操作及数据完整性和约束
  • 基于Linux来讲解Kconfig的基础知识
  • 【2024版】sql-liabs靶场前十关解题过程和思路----适合入门小白
  • Appium环境搭建全流程(含软件)
  • Java项目-基于springboot框架的社区疫情防控平台系统项目实战(附源码+文档)
  • React 纯手写一个 Modal 组件,除了样式不太美观以外,其他功能都不错呢?附上全部源码