利用POM完成脚本分离实现企业级自动化(POM设计模式+页面的框架封装+测试报告截图)

利用POM完成脚本分离实现企业级自动化(POM设计模式+页面的框架封装+测试报告截图)

项目-测试-手工测试

  • 1.了解需求;
    2.编写测试用例(开始)------功能测试组会去做的事情

    3.执行测试用例------发送测试报告
  • 企业架构:功能组-自动化-性能组
  • 前置条件:web自动化必须是项目相对稳定的情况去进行投入自动化测试。
  • 比较规范的公司业务:自动化工程师会根据我们对应功能测试用例去挑选一些核心业务流程去做自动化。
    (优先级高的、业务的核心流程(根据项目各有不同)、对应的复杂度能够通过自动化实现)

重点:然后把挑选的用例用脚本的方式去进行描述。通过计算机进行自动取执行脚本。--如果说需要回归测试的话,相对会提高效率。

  • 怎么把对应的case转成脚本?--WEB UI --selenium------元素定位、8种

  • 很多重复的代码--如果是重复的代码-线性代码-面试过程当中(认定不会自动化)。

  • 思路:线性代码-动作

    1.打开浏览器

    2.让浏览器打开对应的页面

    3.操作页面元素及对应的操作(点击、输入、滚动、拖动...)(都是通过selenium去做的)

  • 自动化测试相关的模型------POM

  • POM(Page Object Model)页面对象模型,是一种设计模式

  • 建立文件夹存放页面,如何去定义页面:

    1.一个页面一个对象 --class

    2.这个页面有什么?(公共部分提取,再单独写)

    这个页面能做什么?

    3.定位方式:右击-检查-复制 XPATH

    导入by包

    4.目前知道谁?可以去运行了吗?所有页面操作都一样,如何不需要重复写

    实现:继承。(所有的页面都可以看为一个子类)

    1.写一个类--父类--(方法、属性)

    2.只要对应的子类继承了父类

    3.对应的子类就可以使用父类的方法和属性

  • find_element------依次传递

  • 在python当中*代表进行解包,把对应的数据依此分割开。

    如何继承?在对应类中写入父类名

4.调用,程序的入口

(完成了自动登录和退出)

  • 总结:
    1.page--class--一个class代表一个页面;
    2.每个页面做的操作:有什么、能做什么?
    3.每个页面做的操作都基本相同,所以我们可以写一个父类,对应的子类继承于他
    4.所有的父类即可使用对应的方法
  • 利用css定位,实现页面整体封装
相关推荐
大江东去浪淘尽千古风流人物4 分钟前
【Polaris-VIO】Docker 镜像跨硬件分发的隐藏陷阱:AVX-512、-march=native 与 CPU 指令集解耦边界
运维·docker·容器·slam·vio·avx-512
工业机器人销售服务4 分钟前
攻克大型钣金搬运难题:伯朗特高负载机型完成重型工件精准移栽,保障作业全程安全
机器人·自动化
十子木5 分钟前
SSH 反向端口转发 (Remote Port Forwarding)
运维·ssh
AI云原生9 分钟前
远程控制软件进入协作阶段:ToDesk、向日葵、AnyDesk、RustDesk怎么选?
运维·服务器·网络·windows·docker·云原生·开源软件
测试员周周7 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
北京耐用通信10 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
在角落发呆10 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
裴东青12 小时前
10-实战:RuoYi-Cloud的自动化发布
运维·ci/cd·自动化
哎呦,帅小伙哦12 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
sxgzzn12 小时前
新能源场站数智化转型:基于数字孪生与AI的智慧运维管理平台解析
大数据·运维·人工智能