自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 收藏
  • 关注

原创 五分钟说测试-等价类划分法

这是一个五分钟说测试专栏,旨在分享软件测试方面的知识,后续会不定期更新连载,大家多多关注~

2020-05-31 09:08:12 7489

原创 五分钟说测试-边界值分析法

这是一个五分钟说测试专栏,旨在分享软件测试方面的知识,后续会不定期更新连载,大家多多关注~

2020-05-26 22:40:19 7882

原创 SIT和UAT的区别

软件测试是一个重要的开发活动,它可以帮助确保软件质量并减少缺陷。在软件测试过程中,有两种主要类型的测试:系统集成测试(SIT)和用户验收测试(UAT)。本文将讨论这两种测试的区别。

2023-05-18 19:31:50 6175

原创 【问题记录】执行java -cp windows和linux区别

linux上是分号:分隔。window上分号;

2022-09-05 10:28:02 748

原创 Ubuntu开发环境搭建

ubuntu 安装Jenkins - 腾讯云开发者社区-腾讯云 (tencent.com)ubuntu安装mysql数据库教程_w3cschool xshell7个人免费版官方下载,无需破解,免激活_Java升级之路的博客-CSDN博客_xshell下载Navicat连接Ubuntu中的MySQL,报错1130-host - 走看看 (zoukankan.com)ubuntu安装maven - iread9527 - 博客园 (cnblogs.com)............

2022-08-29 09:38:16 729

原创 Rest Assured - Get/Post/Put/Delete请求的例子

代码】Rest Assured - Get/Post/Put/Delete请求的例子。

2022-08-11 21:56:41 302

原创 Rest Assured - 序列化和反序列化的例子

代码】Rest Assured - 序列化和反序列化的例子。

2022-08-11 09:42:34 109

原创 【Appium系列】Java实现启动appium service

1.使用AppiumDriverLocalService类,启动本地appiumserver。

2022-07-24 16:50:25 561

原创 【Java基础】位运算符与原码,补码,反码

目录计算机进制基础位运算符原码,补码和反码计算机汇编语言中,计算进制分为四种:二进制,八进制,十进制和十六进制二进制 B (binary)逢二进一,基数为2,数值部分用两个不同的数字0、1来表示。示例:7 = 0b0111,0b表示二进制八进制 O (octal)逢八进一,基数为8,数值部分分别用0,1,2,3,4,5,6,7来表示。示例:10=012,第一位补0表示八进制十进制 D (decimal)逢十进一,基数为10,数值部分分别用0,1,2,3,4,5,6,7,8,9来表示。示例:11=11,我

2022-06-22 17:57:21 398

原创 【Cucumber系列】Cucumber Hooks

目录为什么要使用Hooks?如何使用Hooks?@BeforeAll和@AfterAll Step HooksHooks标签 Hooks orderBackgroundHooks执行顺序执行自动化测试用例的过程中,在执行用例之前经常会遇到一些需要初始化操作,比如:在执行完测试用例之后,同时也需要做一些需要回收的操作,清理测试环境,比如:Hook.feature HookSteps.java Hooks.java 执行结果如下:@Before:每个Scenario执行之前执行@After:每

2022-06-12 17:42:44 652

原创 【Cucumber系列】数据驱动

目录Cucumber的数据驱动使用Examples关键字Cucumber的数据表格数据表格中使用Maps首先,我们看下不使用数据驱动的例子Login.feature LoginSteps.java上面的例子会有一个很大的弊端,就是测试数据存放在测试步骤中,不利于用例数据的维护,可以改成以下方式,测试用例更加直观明了Login.feature LoginSteps.java使用Examples关键字假设有一个Scenario需要测试一组不同的测试数据,这时我们Examples关键

2022-06-12 00:22:55 340

原创 【Appium系列】兼容IOSDriver和AndroidDriver

目录Gradle依赖 AndroidDriver IOSDriver AppiumDriverImpl测试使用 AndroidDriveradb命令使用可以参考:【Appium系列】ADB的安装与简单使用_duoduozhengqian的博客-CSDN博客 AppiumDriverImpl测试使用1.打开Appium,端口设置为47232.运行下面的代码

2022-06-01 20:04:35 551

原创 【Cucumber系列】使用Google Guice 框架

目录Gradle依赖新建Feature文件新建Step文件新建Interface实现Interface新建Module binding新建目录新建cucumber.properties文件直接执行Fearute文件输出如下:Gradle依赖 testImplementation 'io.cucumber:cucumber-java8:7.2.3' testImplementation 'io.cucumber:cucumber-junit:7.

2022-05-30 22:17:59 677 1

原创 依赖注入框架-Google Guice

依赖注入概念依赖在讲解依赖注入概念之前,我们可以先了解下依赖的概念,依赖就是当ClassA需要调用ClassB的任意方法时候,我们可以认为ClassA是ClassB的依赖,反之也可以理解为ClassA依赖于ClassB。public class ClassA { ClassB classB = new ClassB(); double taxes(){ return classB.salary() * 0.45d; }}class ClassB {

2022-05-30 19:39:42 593

原创 【Java基础】继承和重写

目录理解继承继承的概念和特征方法重写概念方法重写的规则不使用方法重写的例子使用方法重写后的例子重写基类方法理解继承继承是面向对象非常重要的部分,当使用继承进行设计代码时,我们可以把通用的方法和变量放到一个类中(父类),其他类(子类)可以通过继承来重用父类的方法和字段,当然子类也可以有自己的方法和变量。继承的概念和特征子类:子类是一个继承其他类的类 父类:被子类继承的类称为父类 子类可以继承父类的所有非私有的变量和方法 Java只支持单继承 fina

2022-05-10 22:41:12 293

原创 【Java基础】方法重载和方法重写的区别

方法重载(Method Overloading)和方法重写(Method Overriding)是两个不同的概念,它们之间有很多不同额地方,下面给出两者之间不同之处的表格序号 方法重载 方法重写 1 方法重载用于提升程序的可读性 方法重写用于子类实现父类已有的方法,来满足子类特定的实现需求 2 方法重载在同一个类中实现 方法重写需要有继承关系的父子类中实现 3 方法重载的参数必须不相同 方法重写的参数必须相同 4 方法重载是编译时多态

2022-05-10 22:15:57 213

原创 【Java基础】this关键字的使用

目录this关键字1)this可以指向当前类的实例变量2)this可以调用当前类的方法3)this()可以用来调用当前类的构造方法4)this可以用于方法的传参5)this可以用于构造方法的传参6)this可以通过方法返回当前类的实例this关键字this关键字指向的是类的实例对象,我们可以通过以下代码证明这点,下面打印出来的值是一样的public class PrintThis { void display() { System.ou

2022-05-06 21:43:37 854

原创 【Java基础】访问修饰符的作用域

目录访问修饰符类型publicprivateprotecteddefault访问修饰符表格访问修饰符类型publicpublic修饰的变量,类,接口和方法可以被其他所有类访问,不受任何限制。package abc;// public修饰的类public class Addition { // public修饰的变量 public int a; public int b; //public修饰的方法 publi

2022-05-05 22:40:14 322

原创 【Java基础】认识变量

目录变量是什么?基本类型变量变量的定义不同数据类型的变量命名变量的命名规则Java保留字和关键字引用类型变量变量是什么?在数学这门学科中,相信大家肯定都学过勾股定理公式:a²+b²=c²,公式中的a,b,c就是变量。​在Java中有两种类型的变量:基本类型和引用类型基本类型变量首先,我们将变量想象成一个大小不一的杯子,可以装不同容量的奶茶,那如何定义大中小杯呢?Java中有以下几种基本数据类型来定义我们的变量可以容纳多大的数据布尔型 整型 浮.

2022-05-04 16:07:52 427

原创 【Java基础】面向对象

面向对象的概念类是对一组相似事物和特征的综合描述,人类就抽象代表着地球上的所有人,每一个具体的人在计算机世界就代表着具体的对象,每个人有着类似的属性和行为,但针对不同的对象有着不同的表现,比如有的人的眼睛是黑色的,有的人的眼睛是蓝色的。类和对象类相当于是一个模板,包含属性和行为的定义。属性:编程世界中称为变量,初始化对象需要用到的数据,比如人类眼睛的颜色,头发的颜色,身高,年龄等。行为:编程事件中称为方法,处理不同操作或者数据的代码,比如人类可以奔跑,工作,说话。对象相当于是一个具体

2022-05-03 19:20:42 516

原创 【Java基础】面向对象-方法重载

目录简介代码示例方法重载一个类中有多个同名方法,方法名相同,只是参数不同,这样的一系列方法称之为方法重载假设你需要实现做加法运算的方法,其中一个方法做两个数字的加法运算,比如additionA(int a, int b),其中一个方法做三个数字的加法运算,比如additionB(int a, int b, intc),不难发现这两个方法实现的功能是一样的,只是传入的参数数量不一样而已方法重载可以提升代码的可读性,因此我们可以将实现相同功能的方法进行方法重载方法重载的方式有两种:

2022-05-02 22:26:44 208

原创 【Java基础】面向对象-构造方法

目录构造方法简介默认构造方法带参构造方法构造方法简介构造方法和类名相同,没有返回值,并且方法体内可以编写任意参数和语句。默认构造方法所有类都会有构造方法,即使你没有显性的写出来,编译器也会自动生成无参数的默认构造方法public class construct { public static void main(String[] args) { }}执行以上代码不会有任何输出,但是编译器编译后的class文件会自动生成构造方法

2022-05-02 16:17:21 525

原创 【Java基础】自定义异常

BaseException继承RuntimeExceptionpublic class BaseException extends RuntimeException{ public BaseException() { } public BaseException(String message, Throwable cause) { super(message, cause); } public BaseException(String mes

2022-05-01 21:34:46 325

原创 【Java基础】static关键字的使用

目录static简介static变量static方法static代码块static简介static关键字可以声明静态变量,静态方法和静态代码块,它们都属于类,不属于类的实例对象,并且存放于内存。static变量static关键字声明的变量称为static变量(静态变量),其他类可以直接通过类名.变量名访问。普通变量和静态变量的区别public class staticandnornal { public String normalVar = "非静态变量

2022-05-01 17:47:19 377

原创 【Java基础】super关键字的使用

目录super关键字简介super可以指向父类的实例变量super可以调用父类方法super可以调用父类构造函数super关键字简介super关键字表示超类,用来指向父类对象。super关键字有以下三种用法super可以指向父类的实例变量 super可以调用父类方法 super可以调用父类构造函数super可以指向父类的实例变量public class superinstacne { public static void main(String[] a

2022-04-27 22:40:32 1511

原创 【Java基础】Gradle配置连接Mysql数据库

目录Gradle下载依赖代码示例Gradle下载依赖// https://mvnrepository.com/artifact/mysql/mysql-connector-java//各位同学根据自己的mysql版本访问上面的链接下载自己的依赖implementation 'mysql:mysql-connector-java:8.0.29'代码示例import org.slf4j.Logger;import org.slf4j.LoggerFactory;.

2022-04-26 22:51:08 4352

原创 【Appium系列】POM模式与自动化测试框架的应用(Java)

什么是POM(页面对象模型)?POM是一种软件设计模式,常用于UI自动化测试框架。现实生活中,网络应用都是都是有一个一个页面组成,页面中有很多丰富的元素,并且可以进行不同的操作:点击,双击,滑动,下拉等等操作,POM设计模式中可以将每一个UI页面声明成一个类,类中实现对应的元素定位和操作。以某登录页面为例,根据POM模式我们可以将该页面封装成类,类中实现以下方法:输入账号 输入密码 点击登录 点击忘记密码以下示例代码做演示用,具体实现还得各位同学根据自己的实际情况编写Page类

2022-04-25 21:24:05 875

原创 【Appium系列】隐式等待和显式等待

目录为什么需要等待?Implicit(隐式等待)Explicit(显式等待)为什么需要等待?试想一个测试场景,打开某购物App访问购物车页面,当我们点击购物车按钮的时候,网速比较慢的情况常常需要加载几秒钟才能出现。这时如果我们的测试脚本直接定位页面的元素就会失败,因为页面还没有加载成功。因此,我们需要一个等待时间,等待我们需要的元素出现才去点击。首先,我们能想到一个最简单的方式就是强制等待,脚本在定位元素前先强制等待一段时间。Thread.sleep(10000);dri

2022-04-24 10:48:25 2262

原创 【Java基础】enum类简单使用

enum类简单使用public class learnenum { enum Color { RED, BLUE, YELLOW; } public static void main(String[] args) { //调用其中一个枚举值 System.out.println(Color.RED); System.out.println(Color.valueOf("BLUE")

2022-04-21 21:58:18 406

原创 【Java基础】slf4j打印日志

目录Gradle依赖配置文件简单使用Gradle依赖 implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.36' implementation "ch.qos.logback:logback-classic:1.2.11"配置文件在src/main/resources目录下新建logback.xml,复制粘贴以下内容<configuration>   

2022-04-19 22:21:22 1148

原创 【Java基础】ImmutableList和Pair的结合使用

目录导入依赖代码实现导入依赖Gradle依赖implementation 'org.apache.commons:commons-lang3:3.12.0'Maven依赖<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --><dependency> <groupId>org.apache.commons</groupId..

2022-04-15 17:22:32 615

原创 【Appium系列】异常问题总结(Java)

WebDriverWait报错IDEA控制台报错如下:'WebDriverWait(org.openqa.selenium.WebDriver, java.time.Duration, java.time.Duration)' in 'org.openqa.selenium.support.ui.WebDriverWait' cannot be applied to '(io.appium.java_client.android.AndroidDriver, int, int)'错误代码

2022-04-14 19:39:15 2072

原创 【Java基础】执行CMD命令并获取结果

示例代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class debug { public static void main(String[] args) throws IOException { run(); } public static void run() throws IOExcepti

2022-04-13 21:07:29 1250

原创 【Cucumber系列】Junit Test Runner和CucumberOptions

新建Junit Runner类参考代码import io.cucumber.junit.Cucumber;import io.cucumber.junit.CucumberOptions;import org.junit.runner.RunWith;@RunWith(Cucumber.class)@CucumberOptions( monochrome = true, plugin = { "pretty",

2022-04-11 20:58:05 935

原创 【Cucumber系列】编写第一个用例(Java)

目录Feature文件Step Definition实现步骤方法执行测试Feature文件我们想像一下手工测试流程,首先我们会在Excel/Xmind或者其他工具编写测试用例,测试用例包含详细测试步骤和预期结果,然后通过手工一步一步执行测试步骤,最后验证测试结果是否和预期结果一致。同理,Feature文件可以简单理解为一个用例文件,Feature文件中包含不同的测试场景,每个场景中有不同的测试步骤,最后自动化测试框架执行每个测试场景不同的步骤来完成测试,从而达到手工测试到自.

2022-04-10 22:24:45 4201

原创 【Cucumber系列】基本概念TDD和BDD

TDD测试驱动开发:英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。BDD行为驱动开发:英文全称Behaviour-Driven Development,简称BDD,是一种软件团队的工作模式,用来缩小业务人员和技术人员之间的差距,业务人员通过编写特定语言编写业务功能,开发.

2022-04-10 10:35:29 4710

转载 【Appium系列】安装及简单的使用介绍

原文链接:Appium的安装及简单的使用介绍 - SegmentFault 思否学习记录使用,如有侵权,联系博主删除。Appium是一个自动化开源工具,支持iOS、Android和Windows桌面平台上的原生、移动Web和混合应用的自动化。Appium是跨平台的:它允许你用同样的API对多平台(iOS、Android、Windows)写测试。做到在iOS、Android和Windows测试套件之间复用代码。1. 下载安装及环境配置1.1 安装python安装Appium-Python-Cl

2022-04-08 22:24:49 1109

原创 【Cucumber系列】Allure生成测试报告(Java)

1、Gradle添加依赖dependencies { implementation 'io.qameta.allure:allure-cucumber7-jvm:2.17.3'}2、CucumberOptions添加插件参考代码如下:import io.cucumber.junit.Cucumber;import io.cucumber.junit.CucumberOptions;import org.junit.runner.RunWith;@RunWith(Cuc

2022-04-07 22:10:44 1135

原创 【Appium系列】AppiumDriver简介

如果想要通过Appium来执行我们的自动化脚本,首先我们需AppiumDriverappiumdriver=new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"),capabilities);AppiumDriver和其他Driver的区别RemoteWebDriver:来源于Selenium,它包含两个组件:客户端和服务端,服务端接收客户端发送过来的请求,客户端则将自动化脚本转化成json格式的命令发送给客户端 AppiumDri

2022-04-07 21:22:30 3244

原创 【Appium系列】- 框架原理

简介Appium是一个跨平台的开源的自动化测试工具,可以用于测试不同类型的移动端应用程序(Appium基础之App类型),这是一个非常优秀好用的,可以说是做App自动化测试绕不开的一个测试工具。Appium支持哪些平台呢?iOS Android WindowsAppium架构Appium本质上是一个用Node.js编写的web服务器,服务器按给定顺序执行相应的操作:自动化脚本(客户端)连接Appium服务(服务端),初始化一个session用于连接 Appium服务端监听客户端发

2022-04-07 20:06:55 3788

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除