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

server/2024/10/18 23:39:52/

前言

        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/server/125215.html

相关文章

从静态多态、动态多态到虚函数表、虚函数指针

多态(Polymorphism)是面向对象编程中的一个重要概念,它允许不同类的对象对同一消息做出不同的响应。多态性使得可以使用统一的接口来操作不同类的对象,从而提高了代码的灵活性和可扩展性。 一、多态的表现形式 1. 静态多态&…

python13_逻辑比较

逻辑比较 A 15 B 15 C 25# 等于比较 def compare1(a, b):result1 (a b)return result1# 不等比较 def compare2(a, b):result2 (a ! b)return result2# 大于比较 def compare3(a, b):result3 (a > b)return result3# 小于比较 def compare4(a, b):result4 (a < …

spring模块都有哪些

Spring 框架是一个庞大而灵活的生态系统&#xff0c;它包含了多个模块&#xff0c;每个模块都提供了特定的功能和服务。以下是一些主要的 Spring 模块&#xff1a; Spring Core&#xff1a; 核心容器&#xff0c;提供了 IoC&#xff08;控制反转&#xff09;和 DI&#xff08;…

条件熵公式详细解释、举例说明计算步骤

公式 7-4 是条件熵的表达式&#xff1a; E ( Y ∣ X ) ∑ i 1 m p ( X x i ) E ( Y ∣ X x i ) E(Y|X) \sum_{i1}^m p(X x_i) E(Y | X x_i) E(Y∣X)i1∑m​p(Xxi​)E(Y∣Xxi​) 这个公式表示的是条件熵&#xff0c;它是衡量在已知某一特征 X X X 的情况下&#xff0c…

c语言200例 64

大家好&#xff0c;欢迎来到无限大的频道。 今天带领大家来学习c语言。 题目要求&#xff1a; 设计一个进行候选人的选票程序。假设有三位候选人&#xff0c;在屏幕上输入要选择的候选人姓名&#xff0c; 有10次投票机会&#xff0c;最后输出每个人的得票结果。好的&#xff…

大模型增量训练--基于transformer制作一个大模型聊天机器人

针对夸夸闲聊数据集&#xff0c;利用UniLM模型进行模型训练及测试&#xff0c;更深入地了解预训练语言模型的使用方法&#xff0c;完成一个生成式闲聊机器人任务。 项目主要结构如下&#xff1a; data 存放数据的文件夹 dirty_word.txt 敏感词数据douban_kuakua_qa.txt 原始语…

QT 界面编程中使用协程

QT 界面编程中使用协程 一、概述二、集成2.1、编译 Acl2.2、将 Acl 库集成到 QT 项目中2.3、开始编写代码2.3.1、QT 程序初始化时初始化 Acl 协程2.3.2、在界面中创建协程2.3.3、界面程序退出前需要停止协程调度2.3.4、在界面线程中下载数据2.3.5、在协程中延迟创建窗口 2.4、效…

完成UI界面的绘制

绘制UI 接上文&#xff0c;在Order90Canvas下创建Image子物体&#xff0c;图片资源ui_fish_lv1&#xff0c;设置锚点&#xff08;CountdownPanelImg同理&#xff09;&#xff0c;命名为LvPanelImg,创建Text子物体&#xff0c;边框宽高各50&#xff0c; &#xff0c;重名为LvT…