摘要:linux 下的抓包,微服务springboot 1.root用户 2.tcpdump命令的安装 在centos系统下安装命令: yum install tcpdump 在ubuntu系统下安装命令:sudo apt -get install tcpdump 3.验证是否安装成功 tcpdump -
阅读全文
摘要:Linux :服务器操作,微服务 发行版本:redhat,centos,ubantu Linux三剑客: 类似sql命令里的如下query grep:select * from table 数据查找定位 awk:select field from table 数据切片 sed:update tabl
阅读全文
摘要:2种情况: 使用sendKeys写入文件的路径 <input type ="file"id ="fu" value="选择文件"> 如果上传文件不是input元素,而是使用的第三方空间,并不是input元素,那么要使用第三方的工具比如autoit来完成 eg:1)sendkeyschromeDriv
阅读全文
摘要:自动化实现鼠标操作比如拖拽,右击等 actions.clickAndHold(onElement).moveToElement(toElement).release().build().perform(); eg: chromeDriver.get(url); WebElement sourceEl
阅读全文
摘要:时间日期空间1)控件没有限制手动输入,直接调用sendKeys方法写入时间数据2)空间有限制输入,则可以执行JS来改变元素的value属性数值javascriptExecutor jsExecutor=(javascriptExecutor)driver;jsExecutor.executeScri
阅读全文
摘要:如果页面元素是一个下拉框,可以将此web元素封装为select对象Select select=new Select(WebElement element); Select 对象常用api select.getOptions(); select.selectByIndex(index); select
阅读全文
摘要:Window切换 操作另外一个窗口的页面元素时,一定要先切换窗口 切换方式:传入要操作窗口的name或者句柄handle driver.switchTo.window(nameOrHandle);如何获取到窗口句柄driver.getWindowHandle();driver.getWindowHa
阅读全文
摘要:iframe切换四种切换方式 driver.switchTo().frame(index); driver.switchTo().frame(id); driver.switchTo().frame(name); driver.switchTo().frame(WebElement); 切换后,回到
阅读全文
摘要:alert弹框 Alert alert = chromeDriver.switchTo().alert();alert.accept();alert.dismiss();alert.getText(); confirm弹框 Alert alert = ChromeDriver.switchTo().
阅读全文
摘要:硬性等待Thread.sleep();隐式等待(针对全局,在WebDriver 实例整个生命周期有效,但并不是所有的元素都需要等待。driver.manage.timeouts().implicitlyWait(long time,TimeUnit unit);显示等待:用来等待某个条件发生后再继续
阅读全文
摘要:元素操作APIclick()clear()sendKeys()WebDriver 相关APIget(String url)getCurrentUrl()getTitle()getPageSource()quit()close()getWindowHandle()getWindowHandles()m
阅读全文
摘要:id name tagName className link Text partialLinkText cssSelector tagName By.cssSelector("input") ID By.cssSelector("input#id"); By.cssSelector("#id");
阅读全文
摘要:1,之前因为进行APP自动化,因为Eclipse已经配置过了Maven 2,创建Maven项目 3.引入selenium 框架 查看maven仓库:http://mvnrepository.com/ 搜素selenium java 复制到eclipse的pom。xml <project xmlns=
阅读全文
摘要:删除数据库,表DROP DATABASE db_name;删除表DROP TABLE table_name; 新增表记录insert1.插入一条记录,对所有字段赋值INSERT INTO tb_name VALUES (v1,v2,v3,....vn)2.插入一条记录,对部分字段复制INSERT I
阅读全文
摘要:1.修改列定义ALTER TABLE S MODIFY type TINYINT UNSIGNED NOT NULL;ALTER TABLE S MODIFY type SMALLINT UNSIGNED NOT NULL FIRSTALTER TABLE S ALTER TYPE SETdefau
阅读全文
摘要:删除单列 ALTER TABLES S DROP pwd; 删除多列 ALTER TABLES S DROP age,cid; 删除同时添加列 ALTER TABLE S DROP pwd,ADD age TINYINT NOT NULL;
阅读全文
摘要:约束Q:如何保证数据唯一?如何限制年龄字段在18岁到80岁?如何设置注册时间为当前时间? A:约束是在表中定义用于维护数据完整性的一些规则通过约束可以防止错误数据插入通过约束报这个表之间的数据一致性 默认约束Default当插入记录时没有明确为字段赋值,则自动赋予默认值CREATE TABLE st
阅读全文
摘要:连接查询1,交叉连接select * from emp;查询单个表select * from emp,dept;查询两个表select * from emp cross join dept;笛卡尔积2,内连接显示内连接,标准内连接select * from emp as a inner join d
阅读全文
摘要:1.日志1)调试软件2)及时定位,解决问题3)了解软件运行情况2.日志等级DEBUG,INFO,ERROR,WARNING,CRITIICAL,NOTICE,ALERT,EMERGENCY3.日志如何处理1)常用的日志函数2)日志流处理(通过日志的四大组件来处理)3.2.1.logging模块 py
阅读全文
摘要:自增长 AUTO_INCREMENT AUTO_INCREMENT 自动编号 必须与主键组合使用,即自增长的字段必须定义为主键 默认情况下,起始值为1,每次增量为1 CREATE TEBLE S( id INT PRIMARY KEY AUTO_INCREMENT, s_name VARCHAR(2
阅读全文
摘要:primary key主键约束 每张表只能存在一个主键 主键保证记录的唯一性 主键自动为 not null CREATE TABLE Student( id INT PRIMARY KEY, s_name VARCHAR(20) );
阅读全文
摘要:1.Money工具压力稳定性测试2.monkey是Android 平台自带的测试小工具3.原理:模拟用户的操作,点击,滑动,发送按键操作4.环境安装/部署-之前APP 自动化配置已经搞定5.链接Android设备1)模拟器 夜神cmd->adb connect 127.0.0.1:62001adb
阅读全文
摘要:创建数据库 1.Navicat创建 2.SQL语句创建 CREATE DATABASE 数据库名称; MySQL不区分大小写,但是建议大写。 创建表: 语法CREATE TABLE 表名称( 字段名1 字段类型, 字段2 字段类型, 字段3 字段类型, 。。。。 )DEFAULT CHARSET=u
阅读全文
摘要:单行注释 : # 单行注释 :- - 多行注释: /* */
阅读全文
摘要:创建表 CREATE TABLE tb_grade( id INT(10) NOT NULL AUTO_INCREAMENT PRIMARY KEY, s_name VARCHAR(20) DEFAULT NULL, score int(3) DEFAULT 0, c_name VARCHAR(20
阅读全文
摘要:1.APP测试中,关注弱网的高延迟和高丢包,突然断网导致的用户体验,页面是否乱码等考验着APP 面对恶劣网络环境下的健壮性是否得当,是否会导致一些意想不到的bug。 在解决日常的支持需求下,经常会遇到一些用户反馈一些无法简单重复的bug,有很大一部分的bug是由于用户自身的网络波动下,或者本身网络恶
阅读全文
摘要:1.移动端设备抓包配置 Tools->Fiddler Options->Connections->勾选Allow remote computers to connect,重启fiddler IOS和Android移动端设置如下: APP-》设置-》Wlan网络要和电脑端的fiddler网络一样 移动
阅读全文
摘要:1.Fiddler安装好只能抓取http请求,https加密的(http+SSL+TSL)要通过设置才可以抓包 如果上述遇到问题没有抓包https成功, 如下解决方法试试看 1)Tool->Options->https-》Action-》Reset all certificates 如上是针对CHr
阅读全文
摘要:1.默认弱网设置如下 2.如果要指定网络速度,操作如下 rule->Custom Rule-》Find Simulate-》更改里面的秒数 设置完后。别忘记去 rule->Perfomance->Simulate modern sppeed勾选好久可以生效了
阅读全文
摘要:1.Rules->Automatic breakpoint 可以在请求前,请求后设置断点,还有disabled取消断点 同时图下点击一次,两次,三次也分别是设置请求前,后,取消断点 2.举例场景 设置请求前的断点,可以在发送请求的时候修改篡改请求数据 这里已经设置了请求前断点 点击excute ,查
阅读全文
摘要:1.先在前台页面进行抓包 把这条请求拖拽到Composer, requestbody显示了之前输入的用户 修改发包:修改Request Bady的username 为123456 点击excute后查看响应结果,这里从fiddler发起模拟抓包 响应结果如下 这里有一个bug,UI前端页面的报错如下
阅读全文
摘要:1.Auto Responder可用于拦截某一个请求 重定向到本地资源 使用fiddler的内置响应 自定义响应 举例场景: 生产环境除了一个问题,需要定位和修改,拦截这个请求,重定向到本地 1.把相应的请求指向指定的地址,比如把百度logo图片换成指定的304响应。 把百度logo这个图片请求,响
阅读全文
摘要:1.Fiddler是客户端和服务器端之间的中间HTTP 代理,类似买房子的房产中介,找工作的猎头,都起到一个中间人的作用 2.常用HTTP 抓包工具. 3.HTTP用来规定客户端和服务器端的数据传输格式,默认端口是80,基于请求与响应模式的,无状态的,应用层的协议。 举例Get请求的 请求报文如下:
阅读全文
摘要:Toast简介 Android中的Toast是一种简易的消息提示框。 当视图显示给用户,在应用程序中显示为浮动。和弹出框不一样的是,它永远不会获得焦点,无法被点击。 Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到。而且Toast显示的时间有限,一般3秒左右就消失了。因此使
阅读全文
摘要:1.getScreenshotAs 截图功能,当测试用例执行失败之后进行屏幕截图,保存到本地为了更好的查找问题 File file =androidDriver.getScreenshotAs(OutputType.FILE); FileUtils.copyFile(file,new File("D
阅读全文
摘要:1.getPageSource 得到当前也页面的dom结构,可以用于断言当前页面是否有某个元素,或者判断当前页面有没有产生变化:如上下判断是否已经到了底端/顶端 //3.getPageSource String pageSource = androidDriver.getPageSource();
阅读全文
摘要:1.startActivity实现页面跳转(包括APP 内部页面和APP 相互跳转) 开启某一个activity,实现跳转 先创建一个activity对象,用activity构造方法初始化,参数为对应的包名和类名 Activity activity = new Activity("AppPackag
阅读全文
摘要:1.移动端地图放大缩小,需要2个手指同时操作,多点触摸,如何实现呢?, MultiTouchAction类可以模拟用户多点触摸操作,包含add(),perform()两个方法,结合TouchAction模拟多根手指滑动的效果 举例: 2.下载:百度地图,先确定其包名和入口 package: com.
阅读全文
摘要:1.手势解锁如何取做呢,如下是整体一个空间,无法使用定位,只能使用坐标取定位 脚本如下: @Test public void testMultiSwipe() { // 实例化TouchAction对象 TouchAction touchAction = new TouchAction<>(andr
阅读全文
摘要:jave-client 5.0前后 版本不同,调用API不一同 脚本包含了2个情况如下: package com.test.firstAppium; import org.testng.Assert;import org.testng.annotations.AfterTest;import org
阅读全文
摘要:1.id appium里获取resource-id 但是1)有可能id重复,2)id开发人员没有取值 2.之前文章中,我在自动化驾考宝典apk的时候就遇到过定位地点的时候,id 没有取值或者id是重复的,无法使用id定位,我挡视使用的是xpath,也可以使用如下方法: 把相同id数值放在集合中,再通
阅读全文
摘要:1.引入testNG 在mavenrepository(https://mvnrepository.com/artifact/org.testng/testng/6.14.3)搜索testNG,复制到pom文件 eclipse安装testng:https://www.cnblogs.com/yige
阅读全文
摘要:1.APP 定位元素需要用到UIautomator 打开:D:\Andriod_SDK\tools\uiautomatorviewer.bat 打开模拟器-》驾考宝典.apk,一会进行元素定位 脚本: package com.test.firstAppium;import java.net.Malf
阅读全文
摘要:在jave-project 創建 創建class 開始代碼的編寫 举例子app:驾考宝典apk 先查找出包名和出口 确定appPackage 在命令行输入如下: D:\Andriod_SDK\build-tools\27.0.1>aapt dump badging D:\test\駕考寶典.apk
阅读全文
摘要:1。新建一个maven项目 选择的第一个将内容复制到pom文件 注意添加<dependencies>
阅读全文
摘要:1.Maven导入java-client依赖包 下载解压 apache-maven-3.5.2-bin.zip放在D盘 配置环境变量Maven_Path 验证是否配置成功 打开eclipse 配置镜像,提升访问速eclipse->window-》preference->MavenRepository
阅读全文
摘要:adb help adb devices adb connect 127.0.0.1:62001 adb pull<手机路径> <本地路径>从手机中拉取信息到本地电脑上 adb push<本地路径> <手机路径>本地推送命令到手机上 adb shell 登陆设备shell模式 adb install
阅读全文
摘要:1.Appium Inspector 配置DesiredCapabilities Inspector 功能 2.UIAutomatorViewer SDK提供原生元素定位工具 不需要提供启动参数 效率高(推荐) 模拟器操作,UIAutomator同步
阅读全文
摘要:今天分享 appium 如何连接模拟器 appium inspector配置 desired capbility 配置 inspector功能 1.CMD-->adb device cmd:adb connect 127.0.0.1:62001 cmd->adb devices 微信apk为例 D:
阅读全文
摘要:1.Appium-Desktop安装 https://github.com/appium/appium-desktop/releases/tag/v1.15.1 2.JDK安装 3.IDE-Eclipse安装 4.模拟器安装 夜神-设置手机模式,默认是平板模式 https://www.yeshen.
阅读全文
摘要:1. 添加线程组 2.登录都是通用的 3. 添加信息头文件 4.正则表达式提取token 5,添加HTTP请求 6.添加请求头文件 7.查看结果树 8.获取结果树里指定的数据 转为json 查看 { "status":"ok", "data": { "count":203, "files": [ {
阅读全文
摘要:之前完成了单个文件的下载,这次完成批量文件的下载,把之前单个文件参数化,添加一个csv config 操作如下:举例下载2个文件 1)添加线程组 2.添加HTTP 请求默认值 3.只需要一次登录就可以进行批量删上传,所以添加仅一次控制器 4. 登录-HTTP请求 5.文件下载-HTTP 请求 6.
阅读全文
摘要:1.接口文档 2.fi 的参数需要文件id 3.操作如下 创建线程组 先登录-》下载,所以登录的方法和之前都是一样的 HTTP 请求默认值 登录-HTTP请求 根据文档要求,添加HTTP信息头文件 提取token,添加正则表达式,用于下载参数 文件下载-HTTP请求 根绝文档添加信息头管理 添加正则
阅读全文
摘要:之前分享了上传一个文件,批量上传多个文件,把文件名字,大小,路径参数化,实现即可 操作如下: 举例上传2个文件 1.创建文件 2.线程组,因为是2个文件上传,要运行2次 3. HTTP请求值 4.因为登录只需要运行一次就够了,添加一个 仅一次控制器 5.登录按照需求文档添加信息头 6.使用正则表达式
阅读全文
摘要:总结点 根据需求文档要求,添加参数,token获取使用正则表达式,上传文件要注意HTTP请求里,添加参数,同事file uoload也要填写 1,接口文档 登录 ->上传 2.操作如下 创建线程组-上传单个文件 Http请求默认值 登录-添加Http请求 根据接口文档要求,添加HTTP信息头管理 由
阅读全文
摘要:如何将jmeter运行的结果写回至excel呢? 1.配置环境 1)下载jxl.jar这个jar包 2)下载后,放在jmeter安装路径的lib目录下 3)jxl.jar的作用:完成对excel的读写以及修改操作 Excel三要素:workbook,sheet,cell,三个元素依次定位 1,先获取
阅读全文