自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 beanshell通过csv文件设置header

链接: https://pan.baidu.com/s/1bi5uArChn_0feMjDCzEl-w?pwd=q4h4 提取码: q4h4 复制这段内容后打开百度网盘手机App,操作更方便哦。1、采集日志文件,空格分为uri、body、header。4、依赖的fastjson包放到lib目录下。3、beanshell设置header。

2023-05-16 16:43:00 205

原创 4年翻4倍年薪30W+的测试工程师个人成长之路

从7k->25k的测试成长之路

2023-01-04 21:50:36 619

原创 总结vue实际开发过程中用到的知识点(持续更新)

引言开始接触前端vue技术了,实际开发过程中也遇见了各种各样的小问题,用此文记录遇见的问题和解决方式。做查询订单信息的工具,想根据接口返回的数组值,动态生成列表,效果类似如图解决: 内使用 v-for 遍历接口返回的数组接口返回值有些字段过长,一行3个影响视觉效果,所以打算吧接口返回值的值很长的key先删除掉,最后单独按一行一个显示解决:有2个思路a. 使用computed处理数据,delete删除keyb.使用 v-if,利用indexOf函数,判断不是该key的时候渲

2021-11-10 15:52:48 1677

原创 解决Nginx出现Permission denied的终极办法

解决Nginx出现Permission denied的终极办法前提背景解决前提已经尝试了修改启动用户名等其他办法后,在自定义的root路径下仍然启动报Permission denied,其他方法参考 https://blog.csdn.net/onlysunnyboy/article/details/75270533.背景centos系统通过yum下载nginx,使用默认的root路径可以成功启动且访问路径下的文件,修改root路径至自定义路径访问文件一直报Permission denied(

2021-06-02 10:44:55 14381

转载 Python中unittest测试根据不同参数组合产生单独的test case的解决方法

需求:在某种情况下,需要用不同的参数组合测试同样的行为,你希望从test case的执行结果上知道在测试什么,而不是单单得到一个大的 test case;此时如果仅仅写一个test case并用内嵌循环来进行,那么其中一个除了错误,很难从测试结果里边看出来。问题问题的关键在于是否有办法根据输入参数的不同组合产生出对应的test case;譬如你有10组数据,那么得到10个test case,当然不适用纯手工的方式写那么多个test_成员函数。分析一种可能的思路是不利用unittest.TestCa

2021-01-28 11:55:49 267

原创 unittest在setUp里获取测试函数的名称及测试数据

一、背景测试数据结构如下其中test_wrong_password,test_wrong_account等为测试函数,如果每个测试数据在对应的测试函数内获取,过于麻烦和冗余,所以打算在setUp函数里每次获取对应的测试数据,查了一圈没看到如何获取当前测试的函数名称。结论直接来说结论,self._testMethodName,从属性名称也可以看出来表示当前测试的函数名称。所以setUp函数可以写为对应的测试函数中可以写为...

2021-01-25 16:05:42 721

原创 linux永久设置环境变量

一、背景使用测试服务器进行压测,但是jmeter路径过深,每次使用的时候不记得路径,需要去查询,设置环境变量后可以直接使用jmeter,也可以通过echo $方式查看途径二、设置步骤1、vim /etc/profile2、在文件最后加上export 变量名 = 路径3、保存退出后,source /etc/profile 生效三、验证1、使用$jmeter/jmeter方式来启动jmeter2、echo $jmeter查看路径...

2021-01-14 13:02:22 480

原创 使用locust进行压力测试

一、背景我们有一个项目接口压测,报文数据其中一个字段是视频加密后的字符串,很长很长,如果使用Jmeter,由于报文过长会导致Jmeter卡死,无法使用。二、locust简介1、定义Locust是一款易于使用的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己的进程内运行)。2、特点①、不需要编写笨重的UI或者臃肿的XML代码,基于协程而不是回调,脚本编写简单易读;②、有一个基于we简洁的HTML+JS

2021-01-11 16:35:39 2194

原创 pyhton+Jenkins实现企信机器人定时推送消息

一、背景每天下班前必须写日报,但是经常会忘记,所以使用企信的机器人在下班前提醒需要写日报来避免忘记。二、实现思路企业微信官方详细介绍了各个类型的推送信息应该如何构造报文,如何触发推送,参考链接https://work.weixin.qq.com/help?person_id=1&doc_id=13376简而言之就是,群里创建一个群机器人后会得到一个url,通过post请求这个url,传相应的报文就可以实现群机器人推送消息。例如,文本型消息:所以实现思路如下:1、群列表点击右键,选择

2021-01-08 15:43:44 805 2

原创 python获取Jenkins打包分支和时间

# 获取jenkins打包时间及分支信息def jenkins_lastBuild_info(): jenkins_url = AutoWeb.get_jenkins_url() jenkins_url = jenkins_url + '/api/json' username = "[email protected]" password = "XXXXX" auth = username + ":" + password headers = {"Content-T

2021-01-05 18:18:59 640 2

原创 使用logging模块创建日志

# -*- coding: utf-8 -*-# author:liucongimport loggingimport timeimport osimport inspectfrom tools.Config import get_basic_configproj_path = os.path.dirname(inspect.getfile(inspect.currentframe())) + os.path.sep + '..'log_path = os.path.join(proj

2021-01-05 18:17:20 252

原创 Nginx下载与配置

一、下载yum install nginx 完成下载二、配置1、配置文件地址为 /etc/nginx/nginx.conf,所以使用vim /etc/nginx/nginx.con 编辑,内容如图2、修改user为root,默认的用户可能存在权限问题3、listen端口号,只要和现有的不冲即可,此处是8111,但8112,8113,8114都可以三、开启Nginx默认应该配置了环境变量,直接输入 nginx 即可,如果没有配置找到安装目录运行bin文件即可,如果修改了配置文件,重新启动的指令

2020-11-25 20:09:49 816

原创 Beanshell接口结果写入文本

public static void writeExternalFile(){ String account = vars.get("account"); String password = vars.get("password"); String filePath = "C:/test123.txt"; FileWriter writer;try { writer = new FileWriter(filePath,true); writer.write(account+","); wri

2020-10-21 11:32:01 203

原创 Beanshell传参

public static String getName(){ String k = "123456"; log.info(k); String k2 = vars.get("access_token"); vars.put("name",k2); return k2;}getName()vars.get()获取参数值vars.put()定义参数值

2020-10-20 11:56:52 306

原创 Beanshell处理Json返回值并断言

import com.alibaba.fastjson.JSONObject;import com.alibaba.fastjson.JSON;String rep = prev.getResponseDataAsString();log.info(rep);JSONObject jsonobj = JSON.parseObject(rep);String message = jsonobj.getString("success");log.info("message的值:" + message

2020-10-20 11:55:20 251

原创 重新封装WebDriver中的方法

一、重新封装WebDriver中的方法思路就是继承selenium 的WebDriver(Chrome)库,然后重新封装里面的查找元素的函数,增加点log输出以及等级元素出现的逻辑,以find_element_by_id为例,先上源码class Webdriver(Chrome): logger = get_logger('selenium') logger.setLevel(logging.INFO) def __init__(self, executable_path="c

2020-09-28 10:10:01 259

原创 如何通过adb命令查看手机应用的包名

1.只需要在连接手机后,输入命令:adb shell am monitor,2.然后打开应用,即可看到当前打开应用的包名

2020-09-14 10:03:37 1557

原创 airtest+poco+pytest自动化测试框架

背景新项目需要做游戏sdk的自动化测试,查找资料了解到了airtest和poco框架,之前测app的时候用的是采用PO模式,appium+pytest+allure的框架,所以在新项目开始之前熟悉熟悉新框架。1、项目目录config:存放配置文件,用来读取配置page:用来封装写每一个页面的方法report:用来放allure的测试数据testcase:用来管理case,airtest框架可以使用图像识别进行自动化,所以建立case_img存放测试图片launch:用于连接手机和启动app

2020-09-08 18:27:24 5741 27

原创 python连接数据库并进行查询、插入等操作

db = pymysql.connect(host=cls.host, port=cls.port, user=cls.user, passwd=cls.passwd, db='') cur = db.cursor(cursor=pymysql.cursors.DictCursor) sql = "select XXX from XXX where " cur.execute(sql) data = cur.fetchall() .

2020-07-21 16:09:03 286

原创 命令行执行python模块时提示ImportError: No module named xxx

导入前加段代码即可import sysimport oscurPath = os.path.abspath(os.path.dirname(__file__))rootPath = os.path.split(curPath)[0]sys.path.append(rootPath)from beta_data import generate_datagenerate_data.generate_click_event(times=10, num=1)

2020-07-18 15:26:22 256

原创 pip下载python第三方包失败

这是因为网络的问题,需要使用国内的镜像源来加速,比如pip install ddt命令改为:pip install pymysql(包名) -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

2020-07-14 16:54:31 241

原创 Jmeter测试报告显示错误信息、URL等信息

效果build文件配置<?xml version="1.0"?><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="yes" encoding="UTF-8" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" /><!--

2020-07-14 11:37:30 1013

原创 Jenkins+ant+jmeter集成测试报告指令

whoamiexport JAVA_HOME=/usr/lib/jvm/default-javaexport ANT_HOME=/usr/local/antsudo sed -i.bak 's#jmeter.save.saveservice.output_format=csv#jmeter.save.saveservice.output_format=xml#g' /usr/local/apache-jmeter-5.3/bin/jmeter.propertiessudo sed -i.bak 's

2020-07-10 17:28:58 126

原创 Jmeter生成html测试报告

JMeter虽不像Loadrunner那样,提供了强大的图表分析功能,但是jmeter(必须是jmeter3.0以上版本)中同样提供了自动生成html测试报告的方法,使用如下命令:命令:jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]-n ---- 非GUI模式执行JMeter-t ---- 测试计划保存的路径及文件名[jmx file] ---- 测试计划保存的路径及.jmx文

2020-07-08 16:24:25 297

原创 jmeter的body data如何用\n作为“换行”

Jmeter传参,长文本使用/n和/r,如果直接传/r/n,/r/n会被识别为文本,不能起到换行作用。Jmeter内相关函数:__char(将一串数字翻译成Unicode字符)__unescape(用于反转义Java-escaped字符串)__unescapeHtml(用于反转义一个包含HTML字符串,将其变为包含实际Unicode字符的字符串)__escapeHtml(用于转义HTML字符串中的字符)问题的解决办法就是一句:{__unescape(\r)}或者{__unes

2020-06-30 17:57:53 1348

原创 利用Fiddler对Android模拟器网络请求进行抓包

安装使用Fiddler下载安装Fiddler的方法这里就略过了,一路Next就行了。装好之后运行软件,正常情况这个时候我们已经可以对电脑的网络请求进行抓包了。Fiddler默认的代理地址是127.0.0.1,端口是8888。此时打开IE浏览器,默认是通过代理地址上网的,所以可以对所有网络访问抓包。对Android模拟器网络请求抓包我使用的Android模拟器是mumu模拟器1.打开模拟器设置(Settings),点击WLAN。2.长按wifi名,选择修改网络3.勾上Show advanced

2020-06-22 14:45:59 486 2

原创 使用allure启动函数

# 删除上次测试数据 os.system(r'del /s /q ..\testcase\temp\*.*') os.system(r'del /s /q ..\testcase\report\image\*.*') os.system(r'del /s /q .\test_report.zip') # 生成测试数据 pytest.main(['-s', '-q','--alluredir', '../testcase/temp...

2020-06-01 10:42:10 661

原创 allure测试报告-------异常截图

使用driver.save_screenshot()函数截图with open以rb 打开该文件,读取内容赋值为file使用allure.attach()函数添加进报告中 OUTPUTS_DIR = '../testcase/report/image' file_name = OUTPUTS_DIR + "/{}_{}.png".format(datetime.strftime(datetime.now(), "%Y%m%d%H%M%S"), img_doc) sel.

2020-06-01 10:37:55 1203

原创 python发送邮件并附带.zip附件

一、需求老板要求每天跑一边自动化测试脚本,并把测试报告用邮箱发给他。于是去查了资料,顺利完成了这个需求,在此记录分享一下二、压缩文件首先做的事是调试压缩文件的函数。利用python自带的zipfile库,具体思路是通过os.walk()函数遍历某一文件夹的所有文件,再把这些文件写入到压缩包内。step1:利用zipfile库的ZipFile函数创建一个压缩包(.zip类型)的对象step...

2020-04-14 21:10:01 2945

原创 利用adb解决python+appium无法调出虚拟键盘的问题

问题如图,app搜索框旁没有搜索按钮,输入完搜索内容后,无法通过点击按钮进行搜索。百度查询最多的答案都是通过driver.keyevent(keycode)模拟键盘事件,搜索和回车键分别为84和66,但是实际运行代码,发现仍然无法进行搜索。又查了很多帖子资料,发现可能通过adb指令切换输入法,然后通过调起输入法再模拟键盘事件,然后尝试了一下,该问题已解决。KEYCODE_ENTER 回车键 ...

2020-03-28 16:52:01 698 1

原创 xpath路径中传入参数

使用“+变量名+”传入变量xpath = "//android.widget.TextView[@text='"+comment_num+"']/../../../../.."self.driver.find_element_by_xpath(xpath).click()

2020-03-26 11:45:22 1648

原创 git通过命令忽略指定文件

如图,从gitlab中clone下来的项目代码,因为pyhton版本不同导致环境配置文件有所不同,每次用git status显示文件状态时都会被显示出来,所以考虑使用命令忽略忽略使用忽略命令后再用git status查看文件状态,不显示该文件。git update-index --assume-unchanged /path/to/file取消忽略使用取消忽略命令后再用git st...

2020-03-25 10:07:49 638

原创 利用while循环和try...except结构定位元素

问题在如图的界面中,要查看没有评论的帖子内容解决思路因为有时进入该页面会有推荐咨询,看不到帖子的评论按钮,所以想法是利用try去定位评论数这个元素,能获取到时,通过判断评论数利用 return 选择要查看的帖子。如果不能获取到评论数就滑动页面,如果评论数不为0也滑动页面。这样就可以在获取到评论为0的元素钱循环滑动动作解决 while True: try: comm...

2020-03-24 20:01:20 713

原创 appium利用XPath定位元素实例(记录工作)

问题如图,我想要定位评论区的内容,但是帖子正文和评论区内容的id和class一样,所以考虑使用xpath进行定位。解决往上层找便于定于的起始节点发现,ID为com.hoolai.moego:id/ll_content的节点就已经和帖子详情内的内容不同,所以以此为起始节点就可以定位到评论区的内容,Xpath写法如下(通过ID属性定位到起始节点,然后通过序号选择具体某一个节点,在一层一层定...

2020-03-24 19:49:12 125

原创 Git常用操作

首次使用git记录一下使用到的操作创建分支git branch + name切换分支git checkout +name查看自己所在分支git branch删除本地分支git branch -d +name合进远程分支git commit +文件名合进远程仓库内git push查看本地分支文件状态(是否修改过)git status删除文件git rm +文件名恢复...

2020-01-09 18:13:14 63

转载 【Golang】解决Go test执行单个测试文件提示未定义问题

背景很多人记录过怎么执行Go test单个文件或者单个函数,但是要么对执行单文件用例存在函数或变量引用的场景避而不谈,要么提示调用了其它文件中的模块会报错。其实了解了go test命令的机制之后,这个问题就迎刃而解了。也是一个同事向我求助我才知道有这样一个问题存在,因为场景特殊他只想执行我们的测试代码其中一个文件中的测试代码,因为调用的信息都在同一目录(package)下,原代码执行是不存在引...

2020-01-06 11:17:46 2481

原创 scrapy框架下载图片失败原因(记自己踩的坑)

最近练习scrapy框架,爬取360图片,已经爬取到了想要的信息,然而在下载时下载错误。想看结果的直接看最后结论!如下是下载函数'''下载图片'''class ImagePipeline(ImagesPipeline): def get_media_requests(self,item,info): yield Request(url=item['url'],m...

2019-07-02 21:18:42 3960 2

原创 手把手教你爬取并下载英雄联盟所有英雄皮肤高清大图

2019-06-23 12:38:44 7556 13

原创 利用itchat写一个聊天机器人

利用itchat写一个聊天机器人聊天机器人图灵机器人需要的库**自动回复私聊消息****自动回复群聊消息**结语:聊天机器人偶然在CSDN上看到大佬用20行教你写一个聊天机器人,觉得甚为有趣,所以就自己尝试了一下,在此记录并分享自己的学习过程。图灵机器人图灵机器人是可以自动回复的智能机器人,每个人都可以免费创建,很方便。官网为http://www.turingapi.com/。创建好后可...

2019-06-18 23:48:18 872

空空如也

空空如也

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

TA关注的人

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