职业技能大赛-自动化测试笔记(PageObject)分享-4

news/2024/9/24 5:51:22/

前言

        Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Selenium测试页面中可以通过调用页面类来获取页面元素,这样巧妙的避免了当页面元素id或者位置变化时,需要改测试页面代码的情况。 当页面元素id变化时,只需要更改测试页Class中页面的属性即可。 获取页面中元素的属性可以通过id,class或者XPath获取,在id唯一的情况下,可以使用id获取页面元素,否则可以使用XPath定位页面元素。

一、PageObject介绍

1、PageObject 的基本原理

        PageObject 模式的核心思想是将每个 UI 页面抽象为一个独立的对象(即 Page 类),该对象不仅包含页面中元素的信息,还封装了与这些元素交互的方法。这种封装使得测试用例与页面的具体实现细节解耦,从而提供了一个简单的接口,让调用者可以方便地对页面进行操作。比如,当需要点击一个按钮或填写一个表单时,测试用例只需调用相应的方法,而不必关心具体的元素定位方式或交互细节。

        这一设计模式的优势在于,假如 UI 页面发生了变化&#x


http://www.ppmy.cn/news/1529673.html

相关文章

大模型安全风险分析

文章目录 前言一、大模型安全风险分类二、大模型自身的安全风险三、大模型恶意应用的安全风险四、大模型安全需求分析总结前言 与大模型技术发展的突飞猛进形成鲜明对照的是,大模型仍面临诸多潜在的安全风险,尤其是在政治、军事、金融、医疗等关键的涉密应用领域,任何形式的…

Centos7 部署rocketmq

1.服务器先创建java环境 Centos7 安装JDK21、配置环境变量_centos7安装jdk21-CSDN博客 2.下载mq 下载的是5.1.4:wget https://dist.apache.org/repos/dist/release/rocketmq/5.1.4/rocketmq-all-5.1.4-bin-release.zip 下载后用unzip解压就行了 3.启动name serve…

分贝通发布自定义BI,助力企业实现“量体裁衣式”降本

● 财务数据分散,更新缓慢 ● 数据口径不一,计算逻辑混乱 ● 表格多,分析少,异常数据难以定位 ● 数据量大,权限分散,分享困难 ● 业务数据与支出数据难以结合分析...... 在如今数据驱动的世界,企业面临着数据管理的多重挑战。分贝通自定义BI是一款在线BI工具,满…

Android RecyclerView 实现 GridView ,并实现点击效果及方向位置的显示

效果图 一、引入 implementation com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30 二、使用步骤 1.Adapter public class UnAdapter extends BaseQuickAdapter<UnBean.ResultBean, BaseViewHolder> {private int selectedPosition RecyclerView.NO_POSITIO…

Spring MVC参数接收 总结

1. 简介 Spring MVC可以简化从前端接收参数的步骤。 2. Param传参 通过设定函数入参和添加标记来简化接受&#xff1a; //参数接收 RequestMapping("product") ResponseBody //接受/product?productgoods&id123 //1.名称必须相同&#xff0c;2.不传值不会不…

HarmonyOS鸿蒙开发实战(5.0)悬浮窗拖拽和吸附动画实践

鸿蒙HarmonyOS NEXT开发实战往期文章必看&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发性能实践总结 HarmonyOS NEXT应用开发案例实践总结合集 最新版&#xff01;“非常详细的” 鸿蒙HarmonyOS Next应用开发学习路线&#xff01;&#xff08;从零基础入门…

网安新声 | 黎巴嫩BP机爆炸事件带来的安全新挑战与反思

网安加社区【网安新声】栏目&#xff0c;汇聚网络安全领域的权威专家与资深学者&#xff0c;紧跟当下热点安全事件、剖析前沿技术动态及政策导向&#xff0c;以专业视野和前瞻洞察&#xff0c;引领行业共同探讨并应对新挑战的策略与可行路径。 9月17日&#xff0c;黎巴嫩境内发…

鸿蒙开发(NEXT/API 12)【使用head发送网络请求 (C/C++)】远场通信服务

场景介绍 发送一个带有默认HTTP参数的HTTP HEAD请求&#xff0c;并返回来自服务器的HTTP响应。使用异步回调。类似GET请求&#xff0c;但只返回相应头&#xff0c;不返回实体内容。可以获取资源的元信息&#xff0c;如文件大小、修改日期等。 使用示例 CPP侧导入模块。 #incl…