1.简介 jmeter系列的文章结束,本来想趁热打铁顺别将Jmeter和接口测试介绍一下,但是感觉Jmeter时间太长了怕大家吃腻了,还有一个原因就是许多小伙伴们或者童鞋们私信问宏哥什么时候可以有java版的selenium,因为不会Python,或者现在大多数企业和公司还是把java奉在神坛上,所以宏哥打算就换个口味,介绍一下java+ selenium自动化测试.大致和前边的python+selenium自动化测试差不多.基于java和selenium做自动化测试,俗话说:工欲善其事必先利其…
当我们的后端应用出现异常时,通常会将异常状况包装之后再返回给调用方或者前端,在实际的项目中,不可能对每一个地方都做好异常处理,再优雅的代码也可能抛出异常,那么在 Spring 项目中,可以怎样优雅的处理这些异常呢? 本文将介绍一种全局异常处理方式,主要包括以下知识点 @ControllerAdvice Controller 增强 @ExceptionHandler 异常捕获 @ResponseStatus 返回状态码 NoHandlerFoundException 处理(404 异常捕获) 右键…
一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 1.不同的邮箱有不同的支持协议,比如有些只支持SSL协议,有些只支持TLS协议,还有些同时支持SSL和TLS协议. 2.支持不同协议的邮箱,在使用Java发送邮件时要使用不同的方式发送,下面我会介绍基于SSL和TLS的两种实现方式. 附:常用邮箱的服务器(Smtp/POP3)地址和端口总结 三.代…
前面三篇可以算是一个小小的里程碑. 主要是介绍了 Flutter 环境的搭建.如何创建 Flutter 项目以及如何在旧有 Android 项目引入 Flutter. 这一篇我们来学习下 Flutter 的 UI. 前言 说到 UI,我就简单说下 Flutter 作为一门跨平台语言具有的优势之一,提高效率吧. 举个例子: 假设现在要开发一个界面,Android 开发需要一天,iOS 开发也需要一天.那么就是两天. 如果你用 Flutter 开发,就只需要一天(因为 Android 和 iOS 都…
1.简介 前面几篇基础系列文章,足够你迈进了Selenium门槛,再不济你也至少知道如何写你第一个基于Java的Selenium自动化测试脚本.接下来宏哥介绍Selenium技巧篇,主要是介绍一些常用的Selenium方法或者接口(API),通过这些接口(API)或者方法的具体操作,达到能够熟练使用Selenium编写Java的自动化测试脚本,从而为后续的Java+Selenium自动化测试框架设计打基础.只有你了解或者使用了里面的一些方法,你在框架设计篇,才能有这个思想或者觉悟,为什么要封装,…
Spark系列-初体验(数据准备篇) Spark系列-核心概念 在Spark体验开始前需要准备环境和数据,环境的准备可以自己按照Spark官方文档安装.笔者选择使用CDH集群安装,可以参考笔者之前的文章:Cloudera Manager大数据集群环境搭建 至于数据的准备就是本文的主要内容,数据采用python爬虫的方式,爬去上一个月上海的天气数据,参考了https://www.cnblogs.com/haha-point/p/7467221.html,但是因为网站做了反爬虫,研究了一下,发下只要…
简介 同步系列到此就结束了,本篇文章对同步系列做一个总结. 脑图 下面是关于同步系列的一份脑图,列举了主要的知识点和问题点,看过本系列文章的同学可以根据脑图自行回顾所学的内容,也可以作为面试前的准备. 如果有需要高清无码原图的同学,可以关注公众号"彤哥读源码",回复"sync"领取. 总结 所谓同步,就是保证多线程(包括多进程)对共享资源的读写能够安全有效的运行. 根据同步的运用场景的不同,实现同步的方式也是随之一起变化,但是总结下来,这些实现方式之间又有一些共通之…
这是java高并发系列第26篇文章. 环境:jdk1.8. 本文内容 了解JUC常见集合,学会使用 ConcurrentHashMap ConcurrentSkipListMap ConcurrentSkipListSet CopyOnWriteArraySet 介绍Queue接口 ConcurrentLinkedQueue CopyOnWriteArrayList 介绍Deque接口 ConcurrentLinkedDeque JUC集合框架图 图可以看到,JUC的集合框架也是从Map.Lis…
我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把java 9 写成一系列的文章,大概十篇左右,本文是第7篇. java9系列文章访问地址 java.util.Optional是在Java 8版本中新增的类,一定程度上可以改善编程过程中的NullPointException的问题.在Java 9中对这个类新增了一些方法进行增强,下面我们一起来看一下,顺便也回顾一…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素.XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的…