前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >自动化-Selenium脚本编写流程梳理

自动化-Selenium脚本编写流程梳理

作者头像
打铁读书郎
发布2024-04-11 20:50:53
1050
发布2024-04-11 20:50:53
举报

自动化-Selenium脚本编写流程梳理

本文主要记录,一次UI自动化脚本编写流程,测试框架为pytest+selenium,二次开发使用PO模式

前言

在我目前的工作中,UI自动化主要用于偶发bug的复现及重要页面的回归.今天恰好有一个需求需要创建一个脚本,实现的操作是对账户的信息进行修改,正好梳理一下脚本编写流程

业务分析

通过测试要求反推测试用例及测试元素

代码语言:javascript
复制
graph LR
测试需求 --> 测试流程 --> 测试涉及页面 --> 测试涉及元素

页面对象代码编写

page object路径创建

在page文件夹下对应模块名,对应页面class名,建立类初始化方法及元素操纵方法

分析页面元素结构

如下是一个表格的标签元素结构,其中我们的目的是,点击指定名称编辑账号按钮

1级标签

2级标签

3级标签

4级标签

tr

td

<div class ="cell">名称</div>

td

td

button

<span>编辑账号</span>

通过名称选择指定元素

在表格进行选择元素时,最方便的方式是使用index选择,但是在面对不同的环境,不同测试账户时,非常容易出现元素抓取失败.而使用text()进行抓取,往往能避免这个问题.

通过属性查询,文本查询以及兄弟节点查询,我们成功找到了想要的编辑账号按钮,其他的元素同理进行脚本编写

代码语言:javascript
复制
//div[@class='cell'][text()="superadmin"]/../following-sibling::*//button/span[contains(text(),"编辑账号")]

测试用例编写

testcases路径创建

按照业务模块层级创建testcases路径

本次的用例需要循环操作,专用的用例编写在临时文件夹中

测试准备

  1. 导入web driver基类,登录类,page object类
  2. setupclass方法初始化以上类的对象
  3. 加入logging日志信息

测试脚本编写

  1. get url并登录到达测试页面
  2. 调用PO对象的元素操纵方法,完成复现操作
  3. 使用assert断言

如果回归脚本,直接到第3步就OK了

脚本试跑

确认不同环境代码均可运行通过

流程总结

代码语言:javascript
复制
graph
业务分析测试流程及页面操作 --> 页面对象编写元素操纵方法 --> 用例组合元素操纵方法进行流程测试 -->脚本试跑
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自动化-Selenium脚本编写流程梳理
    • 前言
      • 业务分析
        • 页面对象代码编写
          • page object路径创建
          • 分析页面元素结构
          • 通过名称选择指定元素
        • 测试用例编写
          • testcases路径创建
          • 测试准备
          • 测试脚本编写
        • 脚本试跑
          • 流程总结
          相关产品与服务
          腾讯云服务器利旧
          云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档