首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Page类中,操作方法应该使用return type作为类名,还是使用void return type是一个好的做法?

在Page类中,操作方法应该使用return type作为类名还是使用void return type是一个好的做法?

在Page类中,操作方法的return type应该根据具体的需求来确定。下面是两种常见的情况:

  1. 使用return type作为类名:
    • 概念:这种做法意味着操作方法会返回一个与Page类相关的对象。
    • 分类:这种方法通常用于实现链式调用(Fluent API)的设计模式,其中每个方法都返回一个新的Page对象,以便可以连续调用多个方法。
    • 优势:使用return type作为类名可以提高代码的可读性和可维护性,因为它清晰地表明了方法的返回类型,并且可以方便地进行方法链式调用。
    • 应用场景:这种做法适用于需要在Page对象上执行一系列操作的情况,例如在Web自动化测试中,可以通过链式调用来模拟用户在页面上的操作。
    • 推荐的腾讯云相关产品和产品介绍链接地址:暂无推荐的腾讯云相关产品。
  • 使用void return type:
    • 概念:这种做法意味着操作方法不返回任何值。
    • 分类:这种方法通常用于执行一些操作,而不需要返回结果的情况。
    • 优势:使用void return type可以简化代码,减少不必要的复杂性,特别是在一些简单的操作中。
    • 应用场景:这种做法适用于不需要返回结果的操作,例如在Page类中的一个方法可能只是简单地点击一个按钮或者填写一个表单字段。
    • 推荐的腾讯云相关产品和产品介绍链接地址:暂无推荐的腾讯云相关产品。

总结:在Page类中,操作方法的return type应根据具体需求来确定。如果需要返回与Page类相关的对象,并支持链式调用,可以使用return type作为类名;如果只是执行一些操作而不需要返回结果,可以使用void return type。这样可以根据实际情况选择最合适的方法来设计和实现Page类中的操作方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

详解python django面向关系数据库ORM对象映射系统(1)

为了方便快速开发复杂SQL操作,QuerySetSQL操作方法返回还是QuerySet对象,这样就可以嵌套叠加着、由多个QuerySet方法组合完成一个SQL操作。...作为中间件实现者,最自然基于OO想法实现一个强大Model基,其含有操作表所有方法,由应用开发者继承基后,自己定义列以及行列变量。...这套系统依赖于python元才能实现,那么,什么呢? 用于生成对象,大部分编程语言都需要提前把定义才能编写基于“”生成对象代码。...所以,我们自然也可以由type隐式得生成type生成方式如下: cls = type(name, base, attrs) name也就是,base,而attrs就是属性,所有的成员和方法都在其中...这里要插一句:python使用meta元规则是首先在当前查找是否使用,如果没有,再依次去父查看是否使用,若查找到显式指定,则直接使用该元创建,若未找到,则使用默认type

1.1K20

高效而稳定企业级.NET Office 组件Spire(.NET组件介绍之二)

项目开发,尤其企业业务系统,对文档操作是非常多,有时几乎给人一种错觉”这个系统似乎就是专门操作文档“。...作为开发者,我也会有这样观点,不过有的时候也会思考收费与免费工具到底哪一个,其实这样思考到最后似乎没有意义,因为事物存在既有价值,免费可以减少成本,收费可以获取稳定而安全支持,各有优势和特点...以上方法只是操作PDF部分类,由于包含较多,过大介绍篇幅就显得多余,在对PDF操作中提供了较多方法,因此功能上会较为丰富,使用起来也较为便捷。  ...个人认为软件收费应该是趋势,毕竟任何软件都是需要投入,无论人力成本,还是资金和时间成本。...本文虽然一篇介绍技术文章,但是也提出了一个所有开发者都在想问题,项目开发到底需不需要使用收费软件,其实这个就是看使用环境。

2.3K61

PageObject(PO)设计模式 UI 自动化实践总结(以 QQ 邮箱登陆为例)

没错,就是他 [iupgyjx4rn.png] --- 没错,就是他 --- 在他文章里有这样一张经典样图,图片中展示了测试代码中直接操作HTML元素和使用PO模式将page对象封装成一个HTML页面...,因此断言不要加在方法里,而是应该写在用例里 1.2.2 字段意义 不要暴露页面内部元素给外部 我们使用PO目的就是为了提高测试用例可读性和可维护性,只要我们人能操作事,通过page对象封装好客户端都可以做到...1.3 PO做法和优点 1.3.1 PO做法总结 以页面为单位独立建模 隐藏实现细节 本质面向接口编程 1.3.2 基于POM用例组织结构 page :完成对页面的封装 driver :完成对...不如动手,下面以QQ邮箱登录为例,演示PO模式UI自动化应用 2.1 登录场景预设 登录页面提供login功能——LoginPage+login方法 登录页面内有多少元素并不关心,隐藏内部细节...findElement(by).getText(); } } 2)创建MainPage,用于登录成功后返回页面,由于这里并未演示登录后操作,所以无具体方法实现,仅作为loginSuccess

1K00

最简单 MyBatis Plus 多表联接、分页查询实现方法

大家,又见面了,我你们朋友全栈君。...一、前言 最近在加强 ITAEM 团队一个 app 项目——学生教师学习交流平台 人员组成:安卓 + 前端 + 后台 后台 DAO 层借鉴了华工其他软件开发团队,使用了新颖强大 MyBatisPlus.../MyBatisPlus_page_tables.git 2、entity、mapper、service、controller 使用了 MyBatisPlus 代码生成器,自动生成大部分基础代码,操作方法见之前文章...翻页对象,可以作为 xml 参数直接使用,传递参数 Page 即自动分页 * @return */ @Select("SELECT t_question....: ①网上有做法不合时宜文章(自定义page、配置版) ②官方文档使用配置版,笔者采用注解版 MyBatis 配置版 MyBatis 注解版 ① 动态 sql 灵活、② xml 格式 sql

5.8K20

代码整洁之道-读书笔记之函数

SALARIED:return new SalariedEmploye(r); default:throw new InvalidEmployeeType (r.type); }5使用描述性名称1....不要害怕长名称,长而具有描述性名称,要比短而令人费解名称好,要比描述性长注释2.不要害怕花时间取名字3.命令方式要保持一致,使用与模块一脉相承短语、名称、动词6.函数参数函数参数数量:0>...,也违背了我们一个函数只做一件事初衷,如果必须要这么做,我们可以考虑重命名为checkPasswordAndInitSession输出参数参数很自然就会当做函数输入,但是也有情况作为输出。...例如void appendFooter(String s) // 追加页脚这时候读者就会有疑问,s添加到什么后面,还是把什么东西添加到s后面,s函数输入还是最终输出,副作用就显露出来了,修改后如下...因此,处理错误函数不该做其他事。这意味着(如上例所示)如果关键字try某个函数存在,它就该是这个函数一个单词,而且catch/finally代码块后面也不该有其他内容。

42880

Selenium4+Python3系列(十) - Page Object设计模式

设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成一定对象,然后再进行组织。...你需要一个一个从测试脚本把需要修改元素定位方式找出来,然后再进行修改。这势必会使脚本维护成本变高,显然这样自动化脚本就不会有人愿意使用。...使用 Page Object 来分离页面元素 对象层 首先我们新建一个login_page,登录页面内编写需要操作元素定位方式和控件操作,具体代码示例如下: # -*- coding: utf-8...login_page主要对登录页面上元素进行封装,使其成为具体操作方法。...使用时将driver、username、pwd、expected作为函数入参,这样方法具有很强可重用性。

34810

SpringMVC基础(上篇)

"hello"; } } 若和方法上加得有,应该一层一层访问,先访问访问方法 20200730102703.png 3、RequestMapping 映射请求方式 method...:匹配文件一个字符 *:匹配文件任意字符 **:** 匹配多层路径 @RequestMapping 支持 Ant 风格 URL 例如:/user/*/createUser 匹配 /user...{xxx} 占位符可以通过 @PathVariable(“xxx“) 绑定到操作方法入参。..."success"; } 5、使用 POJO 作为参数 使用 POJO 对象绑定请求参数值 Spring MVC 会按请求参数名和 POJO 属性进行自动匹配,自动为该对象填充属性值,支持级联赋值。...,可以使用 InternalResourceViewResolve 作为视图解析器: 20200801105533.png 7、重定向 一般情况下,控制器方法返回字符串类型值会被当成逻辑试图处理 如果返回字符串

30920

SpringBoot集成Mybatis-Plus

String email; } INPUT,自己输入id 实体字段上配置@TableId(type = IdType.INPUT) @Test//测试插入 public void insertTest...new LogicSqlInjector(); } 注解 @TableName 设置实体所对应表明 当实体与表不相同时使用 @TableName("t_user") public class...List list = userMapper.selectList(queryWrapper); list.forEach(System.out::println); } condition 真正开发过程...,组装条件常见功能,而这些条件数据来源于用户输入,可选,因 此我们组装这些条件时,必须先判断用户是否选择了这些条件,若选择则需要组装该条件,若 没有选择则一定不能组装,以免影响SQL执行结果...com.ssm.mybatis_plus.pojo # 扫描枚举type-enums-package: com.atguigu.mybatisplus.enums 测试 使用默认主键策略(

25110

springboot集成mybatisplus分页_mybatis分页查询原理

大家,又见面了,我你们朋友全栈君。...); pageInfoListResult.setPage(page); return pageInfoListResult; } } 说明:原先我工具中分页方法这样写,自己new了一个page...接收, 问题就是我对从数据库查到数据进行了转移,PageInfoListResult中放我从数据库查到数据正常, 但我放我转移后list分页有问题,totalSize和数据库符合条件数据数不符...都应该是12(数据库符合查询条件数据数量), 经过一番努力:大概能猜到是什么原因 原因:工具方法中有这样有段代码 PageInfo pageInfo = new PageInfo(dataList...; 以此来保存分页信息,然后传到工具方法中进行处理,具体做法见最开始分页插件使用方法 GeneralUtil public class GeneralUtil(){ public static

72010

【我们一起写框架】MVVMWPF框架之序篇(一)

前言 我想,有一部分程序员应该二三线城市,虽然不知道占比,但想来应该不在少数。 我这部分人群一份子。 我们这群人,面对客户,大多是国内中小企业,或者政府小部门。...在我看来,写框架这件事个程序员都能干。但写好坏就另说了,所以写框架这件事还是与经验挂钩认知,技术视野相对更高,技术范围更广的人写框架会更好。...我们建立约定如下: WPF项目窗体以Window作为前缀创建,如WindowMain,WindowLogin。 WPF项目页面以Page作为前缀创建,如PageMain,PageXXX。...接下来需要编写Page和UserControl基础使用方式。...但Page和UserControl被Window使用,不能直接呈现,所以,使用Page和UserControl之前,我们需要编写MVVM框架,用于WPF页面和ViewModel传递信息Command

2K30

Asp.Net MVC4入门指南(6):验证编辑方法和编辑视图

ActionLink一个帮助方法,便于动态生成指向Controller操作方法HTML 超链接链接。...最后一个参数一个匿名对象,用来生成路由数据 (本例,ID 为 4 )。...换句话说,执行 GET 操作,应该是一种安全操作,没有任何副作用,不会修改您持久化数据。 添加一个搜索方法和搜索视图 本节,您将添加一个搜索电影流派或名称SearchIndex操作方法。...添加视图对话框,指定你要将Movie对象传递给视图模板作为其模型框架模板列表,选择列表,然后单击添加....按流派、 按电影,或者同时这两者,来尝试搜索。 在这一节您修改了CRUD 操作方法和框架所生成视图。您创建了一个搜索操作方法和视图,让用户可以搜索电影标题和流派。

4.2K100

Java文件上传详解

大家,又见面了,我你们朋友全栈君。...Java文件上传详解 文件上传和下载 准备工作 使用介绍 代码编写 文件上传和下载 Web应用,文件上传和下载功能是非常常用功能,这篇博客就来讲一下JavaWeb文件上传和下载功能实现。...【需要用到详解】 ServletFileUpload负责处理上传文件数据,并将表单每个输入项封装成一个FileItem对象, 使用ServletFileUpload对象解析请求时需要DiskFileItemFactory...【常用方法介绍】 //isFormField方法用于判断FileItem对象封装数据一个普通文本表单 //还是一个文件表单,如果普通表单字段则返回true,否则返回false...void delete(); ServletFileUpload ServletFileUpload负责处理上传文件数据,并将表单每个输入项封装成一个FileItem对象 .

1.7K30

mybatis-plus

数据库表 t_user,实体 User,只需要在上写入 @TableName("t_user")就可以了 4、@Data 这个注解也极大简化了我们开发,为什么这样说呢?...注意: 若实体属性使用驼峰命名风格,而表字段使用下划线命名风格 例如实体类属性 userName,表字段 user_name,此时 MyBatis-Plus 会自动将下划线命名风格转化为驼峰命名风格...使用场景:可以进行数据恢复 数据库表,is_delete 为 1 时,代表着逻辑上删除,is_delete 为 0 时,表示没有删除 注解 @TableLogic 使用,就代表着该类属性逻辑删除属性...interceptor; } } 复制代码 8、@Configuration 这个注解相信大家已经见过很多次了,可能都有些不耐烦了,但是我还是要在这里提一下,使用该注解代表着一个配置,该类本身也是一个...也可以该类中加载 bean,使用 @Bean 注解 9、@Bean 注解 @Bean 表示将方法对象注入到 spring 容器,以后方便于之后容器拿出对象,简化开发。

76740

JSP 四讲

流 掌握:以上各种流文件操作方法 应用:文件上传,文件下载 教学重点教学难点: 文件基本文件操作,字节流操作方法,字符流操作方法,回压字符流操作方法,数据流操作方法,对象流操作方法,RandomAccessFile...使用File(String filename)创建文件时,该文件被认为与当前应用程序同一目录,由于JSP引擎bin下启动执行,所以该文件被认为在下列目录: D:\Tomcat\jakarta-tomcat...在下面的例子2,我们Root下创建一个名字Students目录 例子2(效果如图4.2所示) Example4_2.jsp: <%@ page contentType="text/html;charset...(File file);   第一个构造方法使用给定文件name创建一个FileWriter对象。...将第一个语言符号作为试题,第2到第4个语言符号作为选择,第5个语言符号该试题答案,把该题答案存入客户session对象,将来根据题号session对象检索这个答案。

1.1K30

Cypress系列(62)- 改造 PageObject 模式

PO 模式 PageObject(页面对象)模式自动化测试一个最佳实践,相信很多小伙伴都知道 PO 模式特征 将每个页面(或者待测试对象)封装成一个(class),里面包含了页面上所有元素及它们操作方法...common page 然后每个 page 都继承自 common page(类似 selenium po 模式 BasePage) 使用 common page 栗子 commonPage.js...// 如果不为空 应该是所有 page 都会用到变量 } isTargetPage() { cy.url().should('eq', this.url1)...,如果一个测试需要访问多个页面对象,就意味着测试要初始化多个页面对象实例(new Page()) 如果一个页面对象需要登录才能访问(大部分场景都是这样),则每次初始化都需要先登录再访问(只有登录后才能重用...cookie),这无形增加了测试运行时间 Cypress 不认为 PO 模式一个模式,它认为跨页面共享逻辑一个反逻辑,因为 Cypress 实现原理与其他工具完全不同 那 Cypress 用什么方式来替代

91572
领券