史上最强,Python3+Selenium3+PO+Yaml+DDT自动化测试框架...

本文详细介绍了使用Python3、Selenium3、PO、YAML和unittest等技术构建的基础自动化测试框架,包括PageObject模式的应用、分层设计、测试数据管理以及如何编写和执行登录测试用例。涵盖接口、Web和App自动化,以及DevOps相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

框架采用python3 + selenium3 + PO + yaml + ddt + unittest等技术编写成基础测试框架,能适应日常测试工作需要。

1)使用Page Object模式将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本),一个页面建一个对象类,提高用例的可维护性;

2)使用yaml管理页面控件元素数据和测试用例数据。
例如元素ID等发生变化时,不需要去修改测试代码,只需要在对应的页面元素yaml文件中修改即可;

3)分模块管理,互不影响,随时组装,即拿即用。

1、测试框架分层设计

请添加图片描述

把常见的操作和查找封装成基础类,不管是什么产品,可直接拿来复用;
业务层主要是封装对象页面类,一个页面建一个类,业务层页面继承基础层;
用例层针对产品页面功能进行构造摸拟执行测试;
框架层提供基础组件,支撑整个流程执行及功能扩展,给用例层提供各页面的元素数据、用例测试数据,测试报告输出等;

2、测试框架目录结构

请添加图片描述

请添加图片描述

3、编写用例方法

testinfo:
  - id: test_login001
    title: 登录测试
    info: 打开抽屉首页
testcase:
  - element_info: login-link-a
    find_type: ID
    operate_type: click
    info: 打开登录对话框
  - element_info: mobile
    find_type: ID
    operate_type: send_keys
    info: 输入手机号
  - element_info: mbpwd
    find_type: ID
    operate_type: send_keys
    info: 输入密码
  - element_info: //input[@class='keeplogin']
    find_type: XPATH
    operate_type: click
    info: 单击取消自动登录单选框
  - element_info: //span[text()='登录']
    find_type: XPATH
    operate_type: click
    info: 单击登录按钮
  - element_info: userProNick
    find_type: ID
    operate_type: perform
    info: 鼠标悬停账户菜单
  - element_info: //a[@class='logout']
    find_type: XPATH
    operate_type: click
    info: 选择退出
check:
  - element_info: //div[@class='box-mobilelogin']/div[1]/span
    find_type: XPATH
    info: 检查输入手机号或密码,登录异常提示
  - element_info: userProNick
    find_type: ID
    info: 成功登录
  - element_info: reg-link-a
    find_type: ID
    info: 检查退出登录是否成功

例如,我们要新增登录功能测试用例:

首先,只需在testyaml目录下新增一个页面对象yaml文件,参考login.yaml格式编写即可。这些文件是提供给封装页面对象类调用并执行定位识别操作。

- id: test_login001.1
  detail: 手机号和密码为空登录
  screenshot: phone_pawd_empty
  data:
    phone: ""
    password: ""
  check:
    - 手机号不能为空
- id: test_login001.2
  detail: 手机号为空登录
  screenshot: phone_empty
  data:
    phone: ""
    password: aa
  check:
    - 手机号不能为空
- id: test_login001.3
  detail: 密码为空登录
  screenshot: pawd_empty
  data:
    phone: 13511112222
    password: ""
  check:
    - 密码不能为空
- id: test_login001.4
  detail: 非法手机号登录
  screenshot: phone_error
  data:
    phone: abc
    password: aa
  check:
    - 手机号格式不对
- id: test_login001.5
  detail: 手机号或密码不匹配
  screenshot: pawd_error
  data:
    phone: 13511112222
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值