自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (15)
  • 收藏
  • 关注

原创 git常用命令(自用)

用git来管理项目已经成为主流了,不会用命令行操作git的话,说出来有点丢人,所以学起来。git config --global user.name "username"git config --global user.email "useremail"查看分支 git branch切换分支 git checkout -b 分支名称分支重命名 git branch -m 分...

2020-12-23 11:30:29 405

原创 Python开发过程中的报错记录

使用了pytesseract的代码运行报错,报错内容如下:pytesseract.pytesseract.TesseractError: (1, 'Error opening data file D:\\Python\\Python38\\tesseract-ocr\\eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed l

2020-10-19 18:08:44 873

原创 linux环境下的jenkins+flutter自动化打包全记录

最近在做测试的时候,有个挺让人糟心的事,就是每次都得自己跟开发人员要新包测试,作为一个曾经的开发人员,我觉得还是自力更生更稳妥些,再说了,打包这种小事,难得到我吗?既然打算自己弄,那干脆把自动化打包排上日程吧。接下来就来讲讲我的flutter+jenkins自动化打包之路。我们的项目是放在Git上进行管理的,可是呢?我不知道为什么明明一个项目,分成了四个仓库去管理,然后我的同事居然每次要打开四个AS的窗口。额,flutter这么不智能的吗?怪我离开Android圈有点久了。既然这样,那也没关...

2020-10-19 18:07:14 2176

原创 win10 64位安装pycairo

https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycairo找到对应版本,比如我的是python3.8,安装最新1.19.1的64位版本,如下图所示:下载到本地后,运行 命令行“pip install 本地pycairo的位置”即可,安装成功。...

2020-08-30 21:03:17 1167

原创 Selenium IDE的介绍和使用

一开始没学Selenium的时候,对Selenium IDE的功能,我是持怀疑态度的,但现在。。。啊,真香~那么接下来就介绍一下Selenium IDE。 安装这块我就不说了,因为实在是太简单了,我是在Chrome浏览器上安装的,安装完之后可以在扩展程序这里看到一个,这就说明我们安装成功了。那么,就来讲一下如何使用Selenium IDE。(一)Selenium IDE的界面元素介绍1、项目标题:显示项目标题,单击会显示或隐藏编辑按钮,可直接修改2、新建:弹框提...

2020-08-05 21:07:23 3477

原创 Selenium学习之元素属性值、坐标位置、大小

在自动化测试过程中,我们可能需要获取元素的属性值以及坐标位置、大小,那么怎么获取这些信息呢?在这一篇我做了下简单记录。(一)get_attribute 获取元素的给定属性或属性 首先,先来说一下,如何获取元素的给定属性或属性。在Selenium中提供了一个get_attribute()的方法,通过在方法中设置不同的参数内容可以获取到相应的信息,其中给定属性提供了下面三种:(1)获取元素的文本内容:get_attribute(‘textContent’)(2)获取元素的内部H...

2020-07-30 22:39:47 14029

原创 Selenium学习之鼠标键盘操作

在测试的时候,我们不可避免地需要用到鼠标操作,那么如何在自动化测试中如何编写代码进行鼠标操作呢?这就不得不提到Selenium中的ActionChains模块,直译过来就是动作链的意思。

2020-07-30 22:37:30 901 2

原创 Selenium学习之显式等待中的EC模块详解

上篇博客讲到了expected_conditions模块,在显式等待WebDriverWait的until和until_not方法中我们经常要用到,它会根据网页标题、网址以及元素是否可见等条件来决定我们是否需要继续等待。我查看了一下源码,根据各大类型对它们做了个整理,方便记忆。 因为要使用 expected_conditions模块中的类,所以第一步肯定是要引入该模块,考虑到引用类时,很多地方都用到了locator定位范围,所以这里我们还要引入必须要引入seleniu...

2020-07-26 16:49:19 18470 2

原创 Selenium学习之三种等待方式

最近在学习Selenium自动化测试的过程中,发现总是容易出现找不到元素的情况,通常这是因为元素还没加载出来,而我们的代码已经执行导致的,那么该怎么解决呢,主要有三种等待方式。(一)time.sleep(固定等待)这个方法我之前有用到过,在脚本调试的时候,设置这个固定等待方便查看结果,但在实际使用的时候是不建议的。虽然它可以自定义等待时间,防止网络不好导致页面加载不出来时,太快去调用代码获取元素。但这个方法有个缺点,那就是网络状态良好时,也必须要等待固定的时间,而且需要在我们每一次想设置等待时间的地

2020-07-26 16:42:35 734

原创 Selenium实例化+WebDriver工作原理及协议

1、在SE的执行过程中,一般都会有如下一行代码,代表着引入webdriver模板:from selenium import webdriver因为我用的是Chrome浏览器来进行自动化测试,那么会这样进行一个webdriver的实例化:driver = webdriver.Chrome()2、点击webdriver进入一个__init__.py的文件,可以看到有多个浏览器对应的webriver在这里做了个重命名,比如说火狐浏览器firefox等等,如下图所示:3、点击上图中的“.

2020-07-25 15:58:44 2096

原创 Selenium学习之对话框、frame、选择框

1、对话框alert = driver.switch_to.alert #获取对话框(浏览器自带)print(alert.text) #获取对话框的文本内容并打印alert.send_keys("想输入的内容") #在对话框的输入框中输入内容alert.accept() #确认或确认并关闭对话框(无确认/取消按钮的对话框则只会是关闭)alert.dismiss() #取...

2020-07-15 18:07:15 619

原创 TeamCity+Gradle实现自动构建App安装包和补丁包

相信大家在用AS打包的时候,最烦的就是打包要很久,如果可以自动化打包岂不是很方便,所以我之前也是被安排做了这个任务。利用TeamCity+Gradle去实现自动构建App安装包和补丁包,这里做个记录。(一)开端1、因为这里TeamCity不是下载到本地,而是直接在浏览器上进行,所以首先肯定是输入搭建好的TeamCity所在的服务器地址,登录进去可以看到多个项目,找到需要配置的那个项目;2、在项目的右上角找到“Edit Configuration Settings”,进入配置页面,在配置页面的左侧

2020-07-15 16:33:47 811

原创 Selenium学习之元素定位

from selenium import webdriver# 创建 WebDriver 对象,指明使用chrome浏览器驱动wd = webdriver.Chrome(r'D:\ChromeDriver\chromedriver.exe')# 调用WebDriver 对象的get方法 可以让浏览器打开指定网址wd.get('http://127.0.0.1/mgr/sign.html')#UI-0001wd.find_element_by_id('username').clear().

2020-07-08 17:59:18 475

原创 Jenkins+JMeter+xsltproc实现自动化测试构建(主要是优化)

看过我上篇博客的人就知道,使用Ant的方式去构建自动化测试确实有一些不太灵活的地方,而我们邮件通知返回的内容也不是那么让人满意,所以今天我来讲讲自己的一个优化过程。首先,我用xsltproc去替换Ant来实现这个构建过程。...

2020-06-13 10:30:15 950 1

原创 Jenkins+JMeter+Ant实现自动化测试构建

最近搞了个JMeter接口测试的自动化测试构建,一直没时间用博客记录,写到一半又可能被其他事打断,好在终于完成了。话不多说,直接往下看。任务需求:在Jenkins上配置一个自动化测试项目,把重要的一些接口每天定时去跑一遍,如果接口出了问题,以邮件的形式,当然最好是短信的方式发送出来。任务实现方式:Jenkins+JMeter+Ant+xslt因为我其实只是在我电脑本地安装了JMeter,而Jenkins是部署在了另外一台Linux的服务器上,所以很显然,要先在那个服务器上搭建JMeter环境,当

2020-06-07 21:03:19 569

原创 Jenkins+JMeter+Ant踩坑记录

1、报错:jmeter命令找不到分析原因:首先,我在构建步骤中有这样一条:Extend Shelljmeter -n -t jmx文件地址 -l jtl文件地址 -e -o report文件地址其次,这个jmeter命令在Linux服务器上可以正常运行,说明我的环境变量配置都没问题。解决办法:直接把jmeter换成它的绝对路径,即\xxx\xxx\jmeter.sh,问题解决。2、...

2020-05-26 23:07:45 813

原创 JMeter使用过程中的正则表达式记录

(1)仅 true 或 false ^(true)$|^(false)$(2)非负整数 ^(0|[1-9]\d*)\b(3)十六进制色值 ^#[A-Fa-f0-9]{6}$(4)带有x位小数的数字 ^\d+(\.\d{x})?$(5)仅字母和数字 ^[a-z0-...

2020-05-26 22:00:10 194 1

原创 一个好用的JMeter脚本录制工具

推荐一个好用的JMeter脚本录制工具:BlazeMeter,只需要把它放入谷歌浏览器的扩展程序就可以了,最新版4.9.0,资源自取:链接: https://pan.baidu.com/s/1qXTkgxUHQfUD4wO2I6FmQQ 提取码: 5mik...

2020-05-07 19:04:03 782

原创 Python学习记录(二)——数字类型、布尔类型、逻辑运算符

最近在学小甲鱼的python视频教程,有一些小知识点还是值得记录的。1.计算1000000以内偶数之和i = 0sum = 0while i <= 1000000: if i % 2 == 0: sum = sum + i i = i + 1print("1000000以内所有偶数的和是 ", sum)2.给全班32个小朋友发糖,第1个...

2020-04-12 23:39:31 935

原创 深入学习Kafka之多代理配置、解决Topic删除问题

报错记录1、ERROR [KafkaServer id=2] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)org.apache.kafka.common.KafkaException: Socket server failed to bind to 0.0.0.0:...

2020-04-09 21:22:43 1180

原创 如何使用Jmeter对Kafka进行性能测试

最近决定把阿里云的消息服务MNS换成Kafka,作为一个测试人员,当然要了解它,测试它。所以,把自己学习和使用的一些经验记录在本文中,研究如何去使用Apache JMeter测试Kafka。首先,先来了解一下什么是Kafka。A Brief Overview of Apache Kafka在一个大型的分布式系统中,通常有很多服务生成不同的事件:日志、监视数据、可疑用户操作等等。在Kafk...

2020-04-07 21:55:22 10110 29

原创 Kafka生产者和消费者(Java代码案例)

话不多说,直接上代码,在运行之前请配置好本地生产环境,具体也可以参照我上一篇博客,链接在此:(一)生产者代码:Properties props = new Properties();props.put("bootstrap.servers", "localhost:9092");props.put("acks", "all");props.put("retries", 0);pr...

2020-04-07 21:44:22 2035

原创 Windows环境下安装调试Kafka + ZooKeeper以及报错记录

最近在学习用Jmeter对Kafka进行压测,所以安装Kafka软件肯定必不可少了。在安装调试的过程中也有遇到一些问题,在此记录一下。下载我下载的是ZooKeeper 3.5.7和最新的Kafka 2.13-2.4.1安装ZooKeeper1.解压ZooKeeper压缩包并放在系统盘的某个位置,我这里是放在D盘的根目录下;2.新增一个系统变量“ZOOKEEP...

2020-04-02 21:49:28 3014 4

原创 Jmeter性能测试学习记录(四)-提取Json数据和获取系统时间

这些天在使用Jmeter进行接口测试的时候,我遇到一些问题,比如说:登录的时候会获取到tokenId这个字段信息,后面的接口都要用到这个字段信息。那么怎么拿到这个数据并且让它可以为后面的接口所用呢?由于我在调用登录接口后,发现tokenId这个字段信息是存放json数据里面,所以就要用到Json Extractor了。1.点击线程组的“Add-Sampler-Http Request”,新...

2020-03-30 15:17:06 879

原创 Robolectric测试报错集合

1、JsonObject not mocked这是因为JsonObject属于Android SDK,我们如果做单元测试需要用到它,那就需要引入json.jar包。所以,第一步:下载json.jar包下载地址:https://mvnrepository.com/artifact/org.json/json随便选一个日期,我这里下载最新2018年8月13号发布的,如下图所示:...

2020-03-26 10:32:58 1569

原创 摄像头参数(无人机开发)

ISO 感光度SHUTTER 快门速度F 光圈(孔径大小与进光量有关)EV 曝光值WB 白平衡AE 自动曝光AF/MF 自动对焦/手动对焦AUTO 自动曝光S 快门优先A 光圈优先M 全手动模式Aperture 光圈孔径Shutter 快门速度...

2020-03-26 10:28:14 1542

原创 Jmeter性能测试学习记录(三)-解决返回数据乱码问题

今天拿自己公司的系统做了下接口测试,发现返回的数据出现乱码,如下图:所以尝试了一下解决方法:1.右键点击线程组,点击“Add-Post Processors-Bean Shell Post Processor”,添加一个“Bean Shell Post Processor”;2.在它的脚本(Script)中输入“prev.setDataEncoding(“UTF-8”)”。...

2020-03-25 15:11:30 203

原创 Jmeter性能测试学习记录(二)-消息头管理器、定时器、图形结果

师傅领进门,修行在个人。这次是进行博客园的性能测试,自己多动手,总会找到答案。一、如何新增一个HTTP消息头管理器二、如何新增一个固定定时器三、如何新增一个图形结果四、博客园测试步骤见下图:1.线程组下添加一个HTTP请求(后面简称“请求1”),服务器名称或IP输入博客园的地址“www.cnblogs.com”,内容编码输入“utf-8”;2.请求1下添加一个H...

2020-03-12 18:11:03 343

原创 Jmeter性能测试学习记录(一)-jmeter小案例入门

(一)Jmeter设置成中文:Options-Choose Language-Chinese(二)性能测试基本步骤1.点击jmeter.bat,打开Jmeter操作窗口;2.右键点击TestPlan,点击“Add-Threads(Users)-Thread Group”,添加一个线程组;3.右键点击Thread Group,点击“Add-Sampler-Http Reque...

2020-03-12 17:02:48 1519

原创 Python学习记录(一)——变量、字符串、计算

print('hello, world')print("hello, world")print('hello, "world')print("hello, 'world")import this#简单计算#相加1 + 2#相减3 - 1#相乘10 * 3#取商10 / 3#取余10 % 3#10的3次方10 ** 3#10的3分之1次方10 ** (1 /...

2020-02-29 22:50:59 303

原创 git使用踩坑记录

问题一:error: failed to push some refs to 'https://github.com/iamupgirl/LibOpenVideoCall.git'(提交文件不成功),报错如下图:解决方法:(1)$ git pull --rebase origin master(2)$ git push -u origin master问题二:fa...

2019-12-18 11:56:34 122

原创 简单的水印拍照

重写拍照页面加上时间和经纬度水印,水印拍照类代码如下:/** * 水印拍照页面 * Created by sherry on 2017/9/27. */public class WatermarkActivity extends Activity implements CameraInterface.CamOpenOverCallback, CameraInterface.OnSav...

2019-12-18 09:46:20 206

原创 TeamCity Config

The Config of a app auto make apk Build StepsBuild StepsBuild Step 1(disable)1)"Runner type" term select "Command Line"2)"Step name" term set "run release project gradlew.bat(linux.env)"3)"Run"...

2019-12-18 09:29:19 155

原创 Android测试配置的文件(Robolectric+jacoco)

1、使用Robolectric(1)在app\build.gradle里面配置testImplementation "org.robolectric:robolectric:3.8"testImplementation 'org.robolectric:shadows-support-v4:3.4-rc2'testImplementation 'org.robolectric:shad...

2019-12-18 09:27:17 500

原创 Robolectric的坑

问题一:test framework quit unexpectedly解决方法见下图:基本上默认都会在VM option填上了Junit,具体原因不明,我们只需要把这个VM options清空,然后点击下方的Apply按钮,再点击OK保存,运行单元测试用例就不会再报上面那个错误了。(注:测试的方法报这个错误也是同样的解决方法)问题二:Not available in c...

2019-12-18 09:19:47 960

原创 如何获取网页上的图片

打开网页,点击键盘上的“F12”,在打开的代码菜单中点击箭头图标: 点击网页上要选中的那个图标,例如“www.baidu.com”的拍照图标,然后就会出现这样一幕:,定位到该图标的代码,复制粘贴它的background-image的网址,如图: 打开这个网站就会获得这个图标。...

2019-12-18 09:09:17 8717

原创 零基础学习linux命令

1、查看当前路径pwd获取当前路径并赋值dirname=$(pwd)路径拼接allLine=$dirname"/home/myPath/app.apk"或者nextLine=/home/myPath/app.apkallLine=$dirname$nextLine2、当前目录下脚本执行(shellName.sh为要执行的脚本名)./filename.sh如果提示没权限则ch...

2019-09-11 17:33:41 155

原创 小白写简单的shell脚本

1、删除指定目录(脚本中oldBakApkFilePath)下的文件#! /bin/bash#deleteOldBakApkFile.shecho "TEAMCITY_BUILD_WORKING_DIR=$TEAMCITY_BUILD_WORKING_DIR"oldBakApkFilePath=${TEAMCITY_BUILD_WORKING_DIR}"/app/build/bakA...

2019-09-10 10:05:54 229

原创 svn错误和解决方法记录

1、Failed to run the WC DB work queue associated with 或 Error:svn: E155037: Previous operation has not finished; run 'cleanup' if it was interrupted解决方法:C:\Users\ASUS&gt;cd E:\shili-zhhz-hf-trunk\....

2018-12-25 18:22:23 718

原创 Android Broadcast Receiver的坑

最近在做开发的时候,需要用广播来传递实体类对象,例如把C实体类对象从AViewModel传递到BViewModel。因为传递的这个对象是存在内存当中的,并且与View之间做了绑定。在开发的过程中,我发现C对象传递到BViewModel中时,会变成一个新的对象,因此导致了我无法拿到其对应的View,做个记录免得以后再遇到这个坑。...

2018-12-25 18:20:57 363

JMeter培训.ppt

这是我自己总结做的一个JMeter培训PPT,适合新手入门学习,由于里面的举例涉及隐私,已打码,如果有疑问,欢迎去相关博客下方评论。

2020-07-15

pepper-box-1.0.jar

这个是在JMeter上面进行Kafka性能测试的一个插件所需要的jar包,需要放在JMeter的lib\ext目录下,重启JMeter才会生效,具体见博客:https://blog.csdn.net/shan286/article/details/105216381

2020-04-23

kafka_pepper_box.jmx

这是一个Jmeter对Kafka压测的小例子,里面使用了pepper-box插件,实现了Kafka的生产者和消费者,对于入门者来说看这个就够了,如有疑问请移步博客:https://blog.csdn.net/shan286/article/details/105216381。

2020-04-08

KafkaDemo.rar

一个Kafka的小例子,已经测试通过,适合和我一样的小白去尝试使用。代码很简单,理解起来不复杂,主要是一些参数配置千万别弄错了。

2020-04-07

LibWatermarkPhotoTake.rar

只是之前开发的一个简单的水印拍照,封装成了一个lib库,需要的可取,具体见博客https://blog.csdn.net/shan286/article/details/103591882

2019-12-18

第三方库 图片选择MultiImageSelector兼容Android 7.0+

之前大神写的图片选择器好久没更新了,自己在开发过程中也遇到了这个兼容的问题,所以把代码进行了一些修改,解决了兼容的问题,

2019-02-26

最新appium安装包

这是最新的appium安装程序,因为最近在研究这个,就下载下来分享给大家了

2018-12-25

Glide最新4.7.1

里面包含最新glide4.7.1的aar和jar包,有需要的话可以直接下载或者私信即可。

2018-07-16

水印拍照库文件

这是一个库文件,在multi-image-selector上的再开发,并且兼容了7.0以上的版本,实现了拍照加水印(位置时间信息)的功能,使用简单便捷。

2018-05-16

图片压缩的so库文件

这是一个包含图片压缩so库的文件夹,如果想要图片压缩生效,包名必须是com.sherry.photocompress,类名必须是ImageUtil,方法名必须是compressBitmap,当然如果您想自己生成自定义名称的so库,可以参考博客https://blog.csdn.net/shan286/article/details/74801416。

2018-05-10

ButterKnife学习案例

这是自己在学习使用ButterKnife时写的一个小案例,点击任意组件可以看到这些组件是如何使用ButterKnife实现绑定的。

2017-04-05

自定义拍照(多机型测试通过)

这是本人之前做的一个自定义拍照,在十多部手机(包括小米,华为,三星,魅族,锤子,htc等)上进行了测试并通过。解决了拍照模糊、图片变形、手机黑屏等各种类型的问题,详细开发过程配合博客http://blog.csdn.net/shan286/article/details/53189034查看。

2017-03-31

最新okhttp 3.2.0jar包程序文件

最近准备学习这个框架,所以下载了源码和jar包,okhttp是一个比较好用的网络请求框架,附上最新的3.2.0的jar包以及帮助文档。

2016-04-01

okhttp最新3.2.0jar包

最近准备学习这个框架,所以下载了源码和jar包,okhttp是一个比较好用的网络请求框架,附上最新的3.2.0的jar包以及帮助文档。

2016-03-30

一个类似于Excel的表格实现

一个类似于Excel表格的显示效果的demo,之前为了做数据显示而开发的,很简单的实现,可用于初学者做个参考。

2016-03-29

空空如也

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

TA关注的人

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