selenium java测试_java+selenium 自动化测试

在项目上使用自动化测试,是为了跑主流程的回归测试,提高测试效率,在每个测试版本中把主要的精力放在发版内容新增的需求中;

根据项目的功能模块,把业务主流程和使用频率高的功能抽取出来进行自动化测试,作为发版前的主流程回归测试辅助作用;

大致的流程是:

1、先做 po 设计,把最原始的脚本重构封装并参数化,初步设想,base 层,element 定位层,handle 层,business 层,最后是 testcase 层;

base 层,用于传入 browser(浏览器的选择,便于以后扩展兼容性测试)和 driver 的基本方法(findElement,url 的获取,frame 的切换,窗口放大);

element 定位层,用于各业务 page 中元素的获取封装、By 元素定位方式的封装、从配置文件根据 key-value 的形式读取元素定位方式和定位值的封装;

handle 操作层,用于根据页面模块 page 中的元素的操作封装;

business 业务层,用于业务逻辑操作;

testcase 层,用于组装 case,输入测试数据和断言判断;

2、建成 maven 工程,调用第三方的 jar 优化,实现日志收集,TestNG 的使用,测试报告的生成以及 jenkins 的配置;

下面每层贴部分的典型代码展示:

262d7513ac4572ff3477bc75658c966c.png

配置文件内容:

085b0e28b388c130338c225c9a7e4c4e.png

浏览器选择:

67eeb5733643d81232717058f51a3291.png

driver 基本方法重新封装:

d879d28324ce600081c83697e1af6172.png

读取配置文件内容,By 封装

6cb44fbdcce9f9863f869f2664c91541.png

element 定位层:

ffa1c0a2b12d50df882f8d5580f10bdb.png

handle 操作层:

e381feddd4d7c5339a40c4f28402c6c0.png

business 业务操作层:

cee10e8bfd44c9e965d093d1b02cd248.png

testcase 层:

ce20d6b905724003bbd6f8c99fa52ce4.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/360215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通用名称

泛型类型参数名称通常包含一个大写字母字符。 如果您开始阅读有关泛型的官方ORACLE文档&#xff0c;则第一个示例是 /*** Generic version of the Box class.* param <T> the type of the value being boxed*/ public class Box<T> {// T stands for "Type&q…

扩大缩小Linux物理分区大小

由于产品在不同的标段&#xff0c;设备硬盘也不同&#xff0c; 有些500G&#xff0c;有些320G有些200G&#xff0c;开始在大硬盘上做的配置&#xff0c;想把自己定制好的Linux克隆到小硬盘上&#xff0c;再生龙会纠结空间大小的问题&#xff0c; 因此需要做一些分区的改变。 网…

java 文件上传 servlet_java文件上传-原始的Servlet方式

前言&#xff1a;干了这几个项目&#xff0c;也做过几次文件上传下载&#xff0c;要么是copy项目以前的代码&#xff0c;要么是百度的&#xff0c;虽然做出来了&#xff0c;但学习一下原理弄透彻还是很有必要的。刚出去转了一圈看周围有没有租房的&#xff0c;在北京出去找房子…

内存泄漏 和 内存溢出

在计算机科学中&#xff0c;内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失&#xff0c;而是应用程序分配某段内存后&#xff0c;由于设计错误&#xff0c;失去了对该段内存的控制&#xff0c;因而造成了内…

不要被泛型和向后兼容性所愚弄。 使用泛型类型

最近&#xff0c;我与jOOQ的早期客户Ergon的 Sebastian Gruber进行了非常有趣的讨论&#xff0c;我们与之保持了密切联系。 与Sebastian交谈使我们的工程团队得出结论&#xff0c;认为我们应该完全重写jOOQ API。 现在&#xff0c;我们已经有很多用于各种用途的泛型&#xff0c…

java 什么是耦合_什么是耦合、解耦

什么是耦合、解耦一、耦合1、耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。2、在软件工程中&#xff0c;对象之间的耦合度就是对象之间的依赖性。对象之间的耦合越高&#xff0c;维护成本越高&#xff0c;因此对象的设计应使类和构…

基于SharePoint 的企业信息平台架构

转载于:https://www.cnblogs.com/jackljf/p/3589224.html

java bufferarray_Java中的ByteBuffer array()方法

可以使用array()类java.nio.ByteBuffer中的方法获得缓冲区的字节数组。如果返回的数组被修改&#xff0c;则缓冲区的内容也会被类似地修改&#xff0c;反之亦然。如果缓冲区是只读的&#xff0c;则抛出ReadOnlyBufferException。演示此的程序如下所示-示例import java.nio.*;im…

java freemarker 分页_10小时入门java开发04 springboot+freemarker+bootstrap快速实现分页功能...

本节是建立在上节的基础上&#xff0c;上一节给大家讲了管理后台表格如何展示数据&#xff0c;但是当我们的数据比较多的时候我们就需要做分页处理了。这一节给大家讲解如何实现表格数据的分页显示。准备工作还是老规矩&#xff0c;看效果图可以看出我们实现了如下功能1&#x…

获取linux服务器基本信息脚本

为了方便日常运维写的一段简单脚本&#xff0c;用于集中获取服务器操作系统、CPU、内存使用、负载、硬盘使用、网络信息。 脚本比较简单&#xff0c;就不解释了&#xff0c;有兴趣的朋友请自行查看。 #!/bin/bash##Name:system_info#Ver:1.0#Author:lykyl###程序说明:#获取服务…

您认为有关垃圾收集的7件事-完全错了

关于Java垃圾收集的最大误解是什么&#xff0c;它的真实情况如何&#xff1f; 小时候&#xff0c;我的父母曾经告诉我&#xff0c;如果我学习不好&#xff0c;我将成为垃圾收集者。 他们所知道的很少&#xff0c;垃圾回收实际上很棒。 也许这就是为什么即使在Java世界中&#…

java $p_javap -c命令详解

一直在学习Java,碰到了很多问题&#xff0c;碰到了很多关于i和i的难题&#xff0c;以及最经典的String str "abc" 共创建了几个对象的疑难杂症。 知道有一日知道了java的反汇编 命令 javap。现将学习记录做一小结&#xff0c;以供自己以后翻看。如果有错误的地方&a…

hibernate 映射四多对一双向映射

学生和班级的例子来说&#xff0c;多个学生可以对应一个班级。 1.站在学生角度来说&#xff0c;学生就是多端。那么我们可以通过多对一来维护2者的关系。 2.站在班级的角度来说&#xff0c;班级就是一端。那么我们可以通过一对多啦维护2者的关系。 3.我们也可以双向关联两者的关…

JS factory

http://my.oschina.net/jbryan/blog/140647转载于:https://www.cnblogs.com/zhongqiu/p/3472472.html

django mysql 表单_Python Django 表单提交数据到mysql并展示

首先1&#xff1a; 新建项目userproject&#xff0c; 新建应用childName2&#xff1a; 这是childName文件目录&#xff0c;templates文件夹放insert.html 与 show.html3&#xff1a; insert.html 与 show.html/**insert.html**/用户登录12345678910111213141516Title信息展示用…

java h5 上拉加载更多_移动端H5页面上拉加载更多功能实现(二)

之前已经写过一篇关于上拉加载更多的文章&#xff0c;那个主要是根据滚动实现分页向后台发起请求实现。这次实现方式为后台返回所有需要加载的数据&#xff0c;前端这边做视觉上的分页效果。实现原理也是根据滚动距离触发加载更多的条件。我这边的需求是需要在模态框里实现一个…

体验最火的敏捷——SCRUM(厦门,2014.1.4)

1.概述SCRUM是当前最火的一种敏捷开发方法&#xff0c;有用户故事、冲刺、燃尽图等很多很酷的玩法&#xff0c;有牛B的产品负责人、SCRUM Master&#xff0c;有超强的自组织团队。本沙龙将为您展现当前最火最酷的敏捷开发方法&#xff01;内容大纲&#xff1a;1)SCRUM是神马东西…

摆脱困境:将属性值注入配置Bean

Spring Framework对将从属性文件中找到的属性值注入到bean或Configuration类中提供了很好的支持。 但是&#xff0c;如果将单个属性值注入这些类中&#xff0c;则会遇到一些问题。 这篇博客文章指出了这些问题&#xff0c;并描述了我们如何解决它们。 让我们开始吧。 如果使…

js编码java解码_js编码

虽然escape()、encodeURI()、encodeURIComponent()三种方法都能对一些影响URL完整性的特殊字符进行过滤。但后两者是将字符串转换为UTF-8的方式来传输&#xff0c;解决了页面编码不一至导致的乱码问题。例如&#xff1a;发送页与接受页的编码格式(Charset)不一致(假设发送页面是…

淘宝IP地址查询

官方网址&#xff1a;http://ip.taobao.com/index.php 相关文章&#xff1a; http://www.cnblogs.com/zetee/p/3482085.html http://www.cnblogs.com/zetee/p/3481297.html转载于:https://www.cnblogs.com/AloneSword/p/3483176.html