WEB UI 自动化测试设计思路

打印 上一主题 下一主题

主题 658|帖子 658|积分 1974

WEB自动化设计思路

框架的搭建是自动化测试中最重要的部分。一个好的自动化框架可以降低维护成本,提高测试的效率。
利用python3 + selenium3 + PO + YAML + DDT+ unittest/pytest等技能编写基础测试框架,能适应日常工作的需求。
Selenium

Selenium是一个基于欣赏器的自动化测试工具,提供了一种跨平台、跨欣赏器的端到端的web自动化解决方案。Selenium重要包括三部分:Selenium IDE、Selenium webDriver、Selenium Grid。

  • Selenium IDE: 是Firefox的一个扩展,可以举行录制和回放,并把录制的操作以多种语言(Python、Java等)的形式到出成测试用例。
  • Selenium webDriver: 提供web自动化所需的API,重要用作欣赏器控制、页面元素选择和调试。不同的欣赏器必要不同的webDriver。
  • Selenium Grid: 提供了不同机器的不同欣赏器上运行selenium测试的能力。
PO设计模式

Page Object Model(POM)设计模式‌简称PO模式。
将页面元素和业务逻辑分离,使得测试代码更加清晰和可维护。每个页面界说为一个对象,页面元素操作和业务流程分离,提高了代码的可读性和复用性‌。

  • 基类:作为一个工具库。天生一系列在页面对象中可以被调用的函数。
  • 页面对象类:逻辑代码部分。团结业务,提取所有可以被自动化实行的页面。包含页面的核心元素和核心流程。
  • 测试用例类:测试代码部分。拼接各类页面的对象,实现终极的测试流程。
  • 测试数据类:现实测试过程中必要应用的数据内容。
YAML配置管理

利用YAML文件管理页面元素和测试用例数据,便于维护和更新‌。
优势:

  • 简洁易读:YAML的语法布局清晰,易于阅读和理解,使得配置文件的维护和版本控制更加轻便。
  • 通用性:适用于多种场景,包括应用步伐配置、服务器配置、环境变量等。
  • 集成性:YAML可以与多种编程语言和系统集成,方便举行跨平台和跨语言的操作。
  • 扩展性:通过自界说标签和布局,YAML可以支持更复杂的配置需求。
   YAML作为一种数据序列化格式,它的基本数据范例包括标量、序列和映射。
标量是最基本的数据范例,代表单一的值,如字符串、整数、浮点数、布尔值和null值。
序列是元素的有序聚集,利用短横线-表现。
映射是键值对的聚集,利用冒号:分隔键和值。
  1. login_data:
  2.         test_data_01:
  3.                 user_name: "admin"
  4.                 password: "123456"
  5.         test_data_02:
  6.                 user_name: "test"
  7.                 password: "123456"
  8. other_name: "zhangsan"
  9. age: 18
  10. hobbies:
  11.         - Reading
  12.         - Writing
复制代码
在这个例子中,other_name、age是标量,login_data是一个映射,而hobbies是一个序列。
数据驱动DDT

数据驱动,指在自动化测试中处理测试数据的方式。
数据驱动框架会读取数据源中的数据,把数据作为参数传递到功能函数中,并会根据数据的条数多次运行同一个功能函数。
数据驱动的数据源可以是函数外的数据聚集、CSV 文件、Excel 表格、TXT 文件,以及数据库等。
优点:


  • 减少重复代码
  • 数据所属的测试用例失败,不会影响到其他测试数据对应的测试用例
数据驱动框架:


  • DDT(Data-Driven Tests),通常团结unittest 利用
  • parameterized,是pytest实现数据驱动的常用框架
项目目次介绍

   config:文件路径【配置文件路径、测试用例目次路径、测试陈诉路径、日志目次、测试数据路径、元素控件路径】
database:配置文件【webURL地址、邮箱数据】
driver:驱动步伐【欣赏器驱动步伐文件】
package:第三方库包【HTMLTestRunner】
public:通用模块
【models:driver欣赏器驱动、GetYaml解析yaml、log日志模块、myunit自界说类、newReport获取最新陈诉、screenshot截图、sendmail发送邮件】
【page_obj:base基础类、loginPage登录页面、setupPage设置页面】
testcase:测试用例
testyaml:页面元素,如login.yaml
run_ui:主步伐实行

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

星球的眼睛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表