最强实战,Web自动化测试Python+Selenium3+PO+Yaml+DDT框架封装(详细)

本文介绍了一个基于Python3、Selenium3、Page Object、YAML和DDT的自动化测试框架,通过分层设计提高测试用例的可维护性。页面元素和用例数据分别在yaml文件中管理,简化了代码修改。文章还详细说明了框架的目录结构、用例编写方法,并涵盖了从Python编程到接口、Web和App自动化测试的内容。
摘要由CSDN通过智能技术生成


前言

设计思路

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

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

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

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

测试框架分层设计

31

把常见的操作和查找封装成基础类,不管是什么产品,可直接拿来复用;
业务层主要是封装对象页面类,一个页面建一个类,业务层页面继承基础层;
用例层针对产品页面功能进行构造摸拟执行测试;

框架层提供基础组件,支撑整个流程执行及功能扩展,给用例层提供各页面的元素数据、用例测试数据,测试报告输出等;

测试框架目录结构

32

33

编写用例方法
login.yaml

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格式编写即可。这些文件是提供给封装页面对象类调用并执行定位识别操作。
login_data.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
  d
weixin151云匹面粉直供微信小程序+springboot后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值