- 博客(49)
- 收藏
- 关注
原创 Selenium定位iframe标签中元素的问题
最近做自动化遇到了iframe的问题,正好趁着现在解决一下,网页源代码是这样的#进入iframe方法iframe = driver.find_element_by_xpath(’//*[@id=“mini-3$body$3”]/iframe’)#切换到iframe里driver.switch_to.frame(iframe)接下来我们进入之后要退出才能在重新定位其他iframe中的东西,如果是在同一个iframe中可以不退出继续定位代码driver.switch_to_default_co
2020-11-24 17:04:36
308
原创 adb shell monkey进行压力测试
一、Monkey压力测试的原理 1. adb shell monkey的运行机制 实际上是执行手机中/system/bin/monkey这个脚本; 2. Monkey事件注入机制 Monkey注入系统事件是通过 framework 层的 hidenApi (如:activemanager,inputmanager,windowm...
2020-08-24 18:12:48
3105
原创 App专项测试
移动App专项测试移动App测试实战—专项测试转自:http://www.51testing.com/html/58/n-3713758.html我们在进行了手工的功能测试之后,也开发了一些自动化测试用例,并且做了性能测试之后,测试工作看似比较完整了。但是当我们的App在大量的用户那里被安装和使用的时候,还是会有很多我们之前没有预料的问题被反馈回来,比如: · Crash的问题 · 设备兼容性的问题 · 流量使用过多的问题 · App导致用户手机电量消耗过快的问题 · 在不同的网络
2020-07-01 16:27:54
1604
原创 功能测试用例编写框架
功能测试用例编写框架功能测试框架可以包括:界面友好性测试、功能测试、链接测试、容错测试、稳定性测试、常规性能测试、配置测试、算法测试等等。1.1.1 界面友好性测试风格、样式、颜色是否协调界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字)操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作)提示...
2020-03-06 11:29:20
576
原创 Fiddler手机抓包高级篇
本文内容纲要如下1、模拟限速2、篡改数据3、重定向功能4、发送自定义请求,模拟小型接口测试5、APP端抓包一、限速背景:进行日常测试时通常网络情况都比较好(内网),所以有时会忽略在低速或网络状况不好的情况下系统页面的表现(前端是怎么处理的)手机可以用2G、3G、4G,也是一种方式,但这都是网络模式,而Fiddler可以设置上传和下载的延时时间,这种控制非常灵活,可以帮助我们模拟低速网络情况下页面、...
2020-01-09 10:01:53
3806
1
原创 jinkens的安装教程
1.下载jenkins在windows系统上搭建jenkins持续集成有两种方法:1、war文件,可以用tomcat或者java命...
2019-12-11 10:31:23
860
原创 python+selenium常用命令总结
from selenium.webdriver.chrome.options import Optionsfrom selenium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.common.by import Byfrom selenium.w...
2019-09-17 16:00:03
894
翻译 自动化脚本编写-python
自动化脚本编写实例打开浏览器访问pto登陆修改管理员密码单元测试数据检查输入的数据合法性获取输入错误数据之后的页面提示语...
2019-09-16 16:56:09
1685
原创 pycharm2018.3.3安装教程
pycharm2018.3.3破解版安装教程1.解压缩下载安装包,解压点击exe文件,安装软件,点击next下一步2.选择好安装路径,然后在点下一步3.根据自己系统,选择相应的位数4.点击Install5.已经在安装了6.安装成功,点击finish安装成功7.安装成功就关掉吧,把压缩包里的JetbrainsCrack-release-enc.jar复制到安装目录bin下面8.然后修改(如图)两...
2019-07-21 13:13:36
6940
2
原创 Spring Boot入坑 [一] java.io.IOException: The temporary upload location [***] is not valid
Spring boot 上传文件,突然出现异常:java.io.IOException: The temporary upload location [C:\Users\Administrator\AppData\Local\Temp\tomcat.4932744338098462436.8080\work\Tomcat\localhost\ROOT] is not valid因为是测过的代码...
2019-07-03 15:53:47
1926
原创 如何使用maven将spring boot项目打成jar包
如果你使用的是maven来管理项目,执行以下命令即可 cd 项目跟目录(和pom.xml同级)mvn clean package## 或者执行下面的命令## 排除测试代码后进行打包mvn clean package -Dmaven.test.skip=true也可以在eclipse中直接打包,步骤如下:右键选择项目 Run As-->Maven...
2019-06-20 19:10:11
676
原创 cannot open git-upload-pack错误解决
小编今天遇到了Eclipse正常使用,突然从gitlab,clone不了代码了,报错如下cannot clone uri http://###cannot open git-upload-pack解决步骤如下Preferences–>Team–>Git–>Configuration–>User Settings.然后点Add Entry新建一个键值对,输入http....
2019-06-19 19:49:25
7459
1
原创 java RandomStringUtils 生成随机数
今天刚好碰到需要写一个随机生成几位字母+数字,那么我就补上,希望可以帮助到更多的小伙伴吧。(jar包)org.apache.commons.lang.RandomStringUtils; //产生5位长度的随机字符串,中文环境下是乱码RandomStringUtils.random(5);//使用指定的字符生成5位长度的随机字符串RandomStringUtils.random(5...
2019-06-04 19:41:05
1785
原创 Eclipse常用快捷键
虽然栈长我现在不怎么用 Eclipse 了,但 Eclipse 的快捷键还是忘不了的,可以说 Eclipse 的快捷键很方便,恰到好处。今天,我大概整理了 10 组 Eclipse 我觉得比较常用的牛逼快捷键,希望对你有帮助。如果你是 IDEA 粉,请略过,或者期...
2019-05-29 20:27:28
146
翻译 【SpringBoot系列】SpringBoot注解详解
一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让Spring Boot扫...
2019-05-29 20:08:55
224
1
原创 MySQL 8.0.16安装教程
原 MySQL 8.0.16安装教程(windows 64位) 2018年08月15日 18:05:05 日日言谧 阅读数:140168 ...
2019-05-29 20:02:52
7440
4
原创 JDK环境变量配置
1安装JDK 选择安装目录 安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)如下图所示21:安装jdk 随意选择目录 只需把默认安装目录 \java 之前的目录修改即可2:安装jre→更改→ \java 之前目录和安装 jdk 目录相...
2019-05-29 19:48:23
140
翻译 Ehcache是现在最流行的纯Java开源缓存框架
Ehcache是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernate的缓存开始的。网上中文的EhCache材料以简单介绍和配置方法居多,如果你有这方面的问题,请自行google;对于API,官网上介绍已经非常清楚,请参见官网;但是很少见到特性说明和对实现原理的分析,因此在这篇文章里面,我会详细介绍和分析EhCache的特性,加上一些自己的理解和思...
2019-05-29 19:37:31
568
翻译 BinLog日志java端的连接工具
近日在搭建研究广告投放系统,用到了mysql数据库的binlog日志.作用binlog日志中会记录数据库数据变化的详细信息.只需要在java代码中监听该日志的变化就可以知道数据的变化,从而可以进行缓存信息的自动修改功能.介绍binlog:先简单介绍一下binlog.binlog日志会记录所有的DDL和DML(除了数据查询语句)语句,而java代码中可以通过地方的类库提供的方法去监听日志文件中...
2019-04-30 13:24:10
1458
原创 @JsonSerialize的使用
@JsonSerialize注解,可以实现date数据转换成long型数据等功能,该注解作用在属性的getter()方法上用于在序列化时嵌入我们自定义的代码,比如序列化一个double时在其后面限制两位小数点。因为在java中日期时期的时间戳是ms,我现在需要将ms转换为s,就需要将ms/1000package com.whf.utils.serializer;import com.fas...
2019-04-30 13:16:44
5021
原创 保利威视视频直播
使用保利威视进行直播对接的时,需要到保利威视官网(http://www.polyv.net/)申请账号注册。这里我们就不介绍如何申请开发者账号了。这里的保利威视直播,我们还需要下载好保利威视直播软件——POLYV直播助手。申请完保利威视账号之后,我们打开我们网校的后台。点开云视频管理下的直播视频接口设置。找到保利威视直播,点击进入之后选择添加账号。添加信息上图的APPID以及app...
2019-04-22 11:03:06
5470
原创 重定向和请求转发的区别
1、重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向2、重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的地址3、转发是服务器行为,重定向是客户端行为。重定向时浏览器上的网址改变 ,转发是浏览器上的网址不变4、重定向是两次request,转发只有一次请求5、重定向时的网址可以是任何网址,转发的网址必须是本站点的网址扩展...
2019-04-16 20:33:17
377
翻译 JWT认证标准原理以及在微服务系统中的设计及实现
eyJ0eXAiOiJKV1QiLCJhbGciOiJIQTI1NiJ9.eyJyb2xlIjpbeyJyb2xlSWQiOjEsInVzZXJuYW1lIjoiemhhb3poYW96aGFvMiJ9XX0=.26d6c858e666ee510eb14640689e1bb121
2019-04-14 19:13:11
230
原创 单点登录
我们的单点登录系统,主要包含了登录验证、token校验、注销、注册几大功能,单点登录系统提供了统一的登录和注册页面,提供了统一的登录token校验接口。单点登录的主要原理就是在登录成功以后,生成一个令牌,这个令牌要求每次登录唯一不可重复,我们就简单的用了一个随机的UUID,因为我们的系统在部署时,各个模块都是通过Nginx映射到同一个一级域名下的,cookie只要把他的作用域设置成一级域名,就可...
2019-04-11 19:33:57
3168
1
原创 第三方登录
自己的登录:用户名、密码和验证码、密码用md5加密;第三方登录,我的理解就是基于用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或者注册的功能。遵循一个Oauth2.0国际通用协议,允许用户在不提供用户名和密码的情况下,让第三方应用访问一些资源。使用第三方登录时,我们不需要用户再次输入用户名和密码,而是直接通过一个唯一openid来进行授权登录。对于普通用户来说,如果能用QQ、微信、百...
2019-04-11 19:32:45
1016
原创 第三方支付
B2C电商的支付,一般由于支付金额比较小,支付比较频繁,所以一般采用第三方支付,常用的第三方支付有:支付宝、微信、易宝支付等。他们的原理都差不多。都是在点击支付时,直接调用第三方支付接口,传入appid、appsecret、订单编号、订单金额、回调url,直接跳转到第三方支付页面,接下来的支付过程,我们都不需要管,支付成功以后,第三方支付平台会直接回调我们的url。给我们返回:状态码、订单编号、支...
2019-04-11 19:31:16
534
原创 支付宝当面扫码支付
一、流程:1、用户请求支付,调用我方接口,我方根据订单信息和商品信息构造符合支付宝要求的请求参数(请求参数中具有一个我方的回调地址,当支付成功的时候,支付宝会回调这个接口)去请求一个支付二维码(可设置支付二维码的过期时间)。我方将支付二维码持久化到图片服务器,然后图片地址给前端,让前端展示给用户。2、剩下这一步就是用户和支付宝的交互了。用户支付成功后,支付宝回调我们的接口,我们的接口开始去更新...
2019-04-11 19:30:00
508
原创 微信扫描支付
1、商户系统根据用户选择的商品生成订单(此步骤不分析)2、用户确认支付后根据微信【统一下单API】,向微信支付系统发出请求(我们通过httpclient方式请求的)分析:商户确认支付即点击“结算”按钮跳转到收银台,然后在点击微信支付时,会调用商户系统后台,后台做处理准备微信需要的参数,然后通过httpclient调用微信的【统一下单API:https://api.mch.weixin.qq.c...
2019-04-11 19:28:51
290
原创 权限管理
我负责系统管理模块,系统管理主要是对用户角色和权限的管理,不同角色的人登录应该看到不同的权限和内容,权限通常有3,5,7张表甚至更多来完成,我们当时用了五张,包括员工信息表、角色信息表、权限信息表和两张中间关系表:一张员工角色关系表,一张角色权限关系表。可以对用户赋角色,然后角色赋权限,权限表里存着不同的权限的url,当用户登录时,从session中获取用户id,通过用户id获取用户的所有角色id...
2019-04-11 15:28:08
206
原创 Shiro
Apache Shiro是java的一个安全框架。对比Spring Security,他相当于简单,可能没有Spring Security做的功能强大,但是在实际工作时可能并不需要那么多复杂的东西,所以使用小而简单的Shiro就足够了。Shiro主要包含登录认证、授权、会话管理三大功能,另外还提供了了加密、缓存、web基础等功能。但他不会去维护用户和权限,这个需要我们自己完成。他的工作流程是:首...
2019-04-10 11:43:50
114
原创 solr和lucene
solr是Apache的用于实现全文检索的开源项目,是一个war包,直接可以放入tomcat服务器中配置一下可以使用,,而Lucenne是全文检索的底层技术,solr是Lucene的基础上开发的solr。...
2019-04-09 16:47:49
163
原创 支付接口是怎么做的?
1.调用微信的支付接口,参考微信提供的api2.使用了微信的统一下单接口和查询支付状态接口3.每个接口需要的茶树放入到map中使用微信提供的sdk转成XML字符串,httpClient远程提交参数和接受结果。...
2019-04-09 16:25:36
2716
原创 java集合
Java里边主要有两种集合,collection接口和map接口,其中collection下又包含list和set两个子接口;List子接口:有序,可以有重复元素。和数组类似,List可以动态增长,查找元素效率高,相对的插入删除元素效率低,因为会引起其他元素位置改变。**Set子接口:**无序,不允许重复。检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。set集合中的元素不...
2019-04-08 11:17:51
89
原创 Overload和Override的区别
Overload是重载的意思,Override是重写覆盖的意思,也就是重写。Override:子类覆盖父类的方法,将子类传与父类的引用,调用的还是子类的方法。Overload:一个类多个方法,方法名称相同,参数个数或类型或顺序不同。...
2019-04-08 11:11:09
204
原创 字节流与字符流的区别
字节流是按字节读取或写入设备,但字符流是以字符为单位读取或写入设备。如果是二进制文件,需要用字节流读取。一般来说,字符流只处理文本文件(txt、word、excel等)。在设备中,大多数情况是以字节形式存储数据的,因此字符流通过需要传入字节流当参数。...
2019-04-08 11:11:02
397
原创 XML和Json的特点
xml有且只有一个根节点,所有的标签都需要自定义,是纯文本格式;2、json:json对象(就是在{}中存储键值对,键和值之间用冒号分隔,键 值 对之间用逗号分隔);json数组(就是[]中存储多个json对象,json对象之间用逗号分隔)(两者间可以进行相互嵌套)数据传输的载体之一...
2019-04-08 11:10:46
146
原创 悲观锁和乐观锁
sql锁:悲观锁:就是考虑问题很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁;实现:sql语句后边加上for update例子:Select id,nam from biao for update乐观锁:就是考虑问题很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁实现:在表里边加一个vesion例子:Select max(nub) ,vers...
2019-04-08 11:10:15
129
原创 算法复杂度
算法复杂度分为时间复杂度和空间复杂度。其作用: 时间复杂度是指执行算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。时间复杂度常用大O符号表述...
2019-04-08 11:02:59
421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人