自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(199)
  • 资源 (6)
  • 收藏
  • 关注

原创 Golang: Gin 渲染模板的方式

Golang: Gin 渲染模板的方式方式1:Go 标准库 "html/template", template.ParseFiles()方式2:"github.com/gin-gonic/gin",gin.HTML()

2023-03-11 20:00:38 957 4

原创 Golang: Gin Swagger 配置

Gin Swagger 配置    swagger是一套基于OpenAPI规范构建的开源工具,使用RestApi。swagger-ui 呈现出来的是一份可交互式的API文档,可以直接在文档页面尝试API的调用。    gin-swagger 是基于注释生成 API 文档,项目地址:https://github.com/swaggo/swag。

2023-03-04 01:25:20 790

原创 Gorm : Error 1292 (22007): Incorrect datetime value: ‘0000-00-00‘ for column ‘login_time‘ at row 1

Gorm : Error 1292 (22007): Incorrect datetime value: '0000-00-00' for column 'login_time' at row 1 当前版本的 mysql 不能设置为 '0000-00-00'

2023-03-03 22:58:35 1822 1

原创 Zipkin : Golang 微服务全链路监控(四)

Zipkin : Golang 微服务全链路监控(四)Golang 微服务全链路监控实现1. broker-service -> auth-service -> postgres db2. zipkin 监控:需代码入侵使用 zipkin 库的 serverMiddleware,其通过 Http 跟踪(trace)链路。*访问 auth-service,需通过 zipkinhttp.NewClient() 方法

2023-02-18 00:38:00 653

原创 Zipkin : Golang 微服务全链路监控(三)

Zipkin : Golang 微服务全链路监控(三)Golang 微服务全链路监控实现1. broker-service -> auth-service -> postgres db2. zipkin 监控:需代码入侵使用 zipkin 库的 serverMiddleware,其通过 Http 跟踪(trace)链路。若要连接数据库,需传 tracer

2023-02-18 00:27:27 619

原创 Zipkin : Golang 微服务全链路监控(二)

Zipkin : Golang 微服务全链路监控(二)Golang 微服务全链路监控实现1. broker-service -> auth-service -> postgres db2. zipkin 监控:需代码入侵

2023-02-15 20:48:58 873

原创 Zipkin : Golang 微服务全链路监控(一)

Zipkin : Golang 微服务全链路监控(一)Golang 微服务全链路监控实现1. broker-service -> auth-service -> postgres db2. zipkin 监控:需代码入侵

2023-02-15 18:15:21 539

原创 Rabbitmq 消费者 : Exception (504) Reason: “channel/connection is not open“

## Rabbitmq 消费者 : Exception (504) Reason: "channel/connection is not open"启动微服务 Rabbitmq 时,定位 ch.consume() 出现异常

2023-02-10 12:41:55 2363

原创 Docker -- Forbidden path outside the build context

ERROR: Forbidden path outside the build context: ../broker-service/broker-service.dockerfile ()

2023-02-06 22:33:39 1132

原创 Error TypeError Cannot set properties of null (setting ‘innerHTML‘)

HTML 显示 JavaScript 结果报错:Error TypeError Cannot set properties of null (setting 'innerHTML')

2023-02-06 20:15:00 548 1

原创 win10 安装 make

win10 下,chocolatey 安装 make

2023-02-04 23:13:18 720

原创 项目管理(Devops)

项目管理(Devops)

2022-12-30 01:01:57 621

原创 git 撤销 commit

git 撤销 commit:git reset ...

2022-12-30 00:55:42 179

原创 AirTest 自动化

Android&IOS自动化筹备

2022-12-07 10:57:10 808

原创 压测: Locust 搭建性能监控平台

一、问题Locust 平台本身的数据是非持久化存储的,每次测试结束数据就清空了。二、解决方案Locust + Prometheus + Grafana

2022-12-05 16:15:20 693

原创 Docker CI: SonarScanner 本地 C# 代码质量检测到 SonarQube 服务器

SonarScanner 本地 C# 代码质量检测,在 SonarQube 服务器显示结果

2022-11-29 16:37:32 581

原创 Docker CI: 安装 SonarQube 异常 max virtual memory areas vm.max_map_count [65530] is too low

# docker logs sonarqube_sonarqube_1ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is

2022-11-29 12:21:10 923

原创 Perforce P4 error: Unable to determine client host name

Jenknis 增加 P4 凭证后,测试服务器是否正常;报错:Unable to connect to: p4java://xxx.xxx.xxx.xxx:1666Unable to determine client host name: %s584d0eac1b29: 584d0eac1b29: Name or service not known

2022-11-09 15:52:24 404

原创 Perforce P4W error: file(s) not in client view

Perforce P4W error: file(s) not in client view

2022-11-08 15:47:56 1084

原创 Shell数据同步: 从服务器同步最新数据,并过滤结果

从服务器同步最新数据,并过滤结果 一、步骤1. 同步数据到本地;2. 通过serverTag过滤本次发布的版本文件;3. 如果有新数据,删除本地数据;4. 遍历目标文件,如果是战场40|50,复制到本地目录;5. 删除同步到本地的其他数据。

2022-11-02 11:47:06 212

原创 Jenkins: 使用Generic Webhook Trigger 插件配置webhook

Jenkins: 使用Generic Webhook Trigger 插件配置webhook

2022-10-14 16:22:55 1121

原创 Linux Root免密登录异常Permission Denied

分析Linux下 Root免密登录异常Permission Denied

2022-08-23 11:10:38 2454

原创 弱网压测环境 - tcconfig

tcconfig 配置弱网环境

2022-07-14 19:02:25 1257

原创 Python betterproto 异常:-protoc-gen-python_betterproto: Plugin failed with status code 1.

Python betterproto 异常

2022-07-05 16:24:14 1058

原创 压测内存泄露监控:比较压测结果,推送异常告警

游戏各个服务器存在内存泄露,需要在压测时监控定位问题。

2022-06-17 17:50:25 619

原创 Jenkins集成:因为用户userid,导致 gitlab 权限异常

Jenkins集成:因为用户userid,导致 gitlab 权限异常一、问题:gitlab pull出现权限异常,报错为没有userid二、原因:虽然,Jenkins 配置页面显示 gitlab 正常,但是,Jenkins 的 console 一直报错。原因是 Jenkins node 中的 qa 用户因错操作删除。三、 解决方案:useradd 重新增加 qa 用户;修改 /etc/passwd 中,qa 用户的 userid 和groupid 为1001(qa: x:1001:1001

2022-03-02 12:03:33 631

原创 压测:Failed to establish a new connection: [Errno 99] Cannot assign requested address

压测:Failed to establish a new connection: [Errno 99] Cannot assign requested address一、原因socket TIME_WAIT状态未结束前,消耗完所有可用端口并尝试重用这些端口;导致没有可用端口。二、解决方案增加可用端口范围# sysctl net.ipv4.ip_local_port_rangenet.ipv4.ip_local_port_range = 32768 60999# sysctl net.ip

2022-01-28 15:15:35 3820

原创 日志收集处理服务框架:ELK + Filebeat

日志收集处理服务框架:ELK + Filebeat一、需求:压测数据分析和反馈说明:因为在压测产生异常数据时,需要手动登录到压测机上分析日志比较麻烦(压测服务器因业务需求可能到达10+台);所以搭建平台,为了快速搜索日志并跟开发沟通解决问题。二、官方框架filebeat 在服务节点上收集日志信息docker 运行 ELK 服务用户通过 Kibana Web 页面访问日志服务器: http://ip:5601三、配置环境ELK 服务器:$ docker-compose up -d

2022-01-19 17:14:20 1986

原创 性能测试:竞品APP性能对比测试

性能测试:APP性能对比测试一、需求:APP性能对比测试【APP测试前瞻】当前移动互联网已经过了草创时期,各家公司都在抢占市场和用户;那么,就看哪一家做的更精致(交互做的更好,崩溃出现的更少)。APP测试涉及各个方面,而稳定性和性能测试一般在功能测试完成后开展。如何应用自动化测试场景,如图1所示:二、思路:通过录屏方式,获取各个竞品的 APP 数据;截图分析,生成图表。三、配置:1.视频命名规范:产品名网络_手机型号.mp4 例:Tap加速器双通道_小米mi9.mp4

2022-01-11 15:31:48 2587 1

原创 压测:Locust 测试环境容器化

压测:Locust 测试环境容器化一、需求:统一版本虽然 Locust 压测环境安装简单,但是项目中常常出现版本问题导致异常。二、容器化docker-compose.ymlversion: '3'services: master: build: . container_name: locust-master restart: always ports: - "8089:8089" volumes: - ${PWD}:/usr/src/

2022-01-07 12:10:30 1040

原创 压测:快速设置所有压测机的vim环境

压测:快速设置所有压测机的vim环境一、需求:压测环境需要更好的使用vim编辑器二、配置:#!/bin/baships=('10.10.0.1' '10.10.0.2' '10.10.0.3')for addr in "${ips[@]}"do ssh root@"$addr" "yum install git -y; mkdir ~/.vim; mkdir ~/.vim/bundle; mkdir ~/.vim/colors" ssh root@"$addr" "cd ~/.vim

2022-01-06 20:05:49 427

原创 压测:Locust 多台压测机环境下,配置 Master 独立提供 redis 服务

压测:Locust 多台压测机环境下,配置 Master 独立提供 redis 服务一、需求:redis 服务提供刷用户、存入异常日志等信息。多台压测机环境下,让独立提供服务,防止数据重复。二、Master 压测机配置redis服务# vim /etc/redis.confbind 127.0.0.1 10.0.0.10protected-mode no三、测试代码 redis 相关配置redis服务地址配置: redis_conf.pylocal_redis = False #

2022-01-06 12:31:51 800

原创 压测:Locust & WebSocket 二次开发

压测:Locust & WebSocket 二次开发一、需求:压测 WebSocket 接口性能问题。二、问题:Locust 仅封装了Http Client;压测使用 WebSocket,需二次开发三、解决方案:学习Http ClientDrawScript.py#!/usr/bin/env python# -*- coding: utf-8 -*-"""------------------------------------------------- File Nam

2022-01-04 18:20:49 1940

原创 Websocket异常: [SSL: CERTIFICATE_VERIFY_FAILED]

Websocket异常: [SSL: CERTIFICATE_VERIFY_FAILED]平台:Mac OS语言:Python库:websocket-client一、问题:在 Mac OS 中,使用 websocket-client 出现报错。二、解决方案:在 Python 目录下,安装 Certificates 并更新 Shell Profile 即可。...

2022-01-04 11:01:51 1860 1

原创 APP 测试框架二次开发:Python, Appium & BeatifulReport

APP 测试框架二次开发:Python, Appium & BeatifulReport一、需求:需要对APP功能进行测试,重新封装 Python & Appium。二、结构:项目配置文件:conf核心模块:core业务逻辑:logic脚本:scripts软件包:apk截图:img报告:report入口:run_script.py三、入口:run_script.py# coding=utf-8import argparseimport osimp

2021-12-31 18:04:56 1031

原创 压测:Locust测试结束后,实时信息推送

压测:Locust测试结束后,及时信息推送一、需求:压测结束后,企业微信实时反馈信息给项目组。二、问题:记录到Redis里面的数据,在Locust Teardown发送消息时,是每个worker都发送一份Teardown三、解决方案:Redis增加Lockimport redis_lockfrom locust import HttpLocustfrom script import Taskfrom userid.qstools import set_user_infofrom

2021-12-23 12:24:51 638

原创 Python协程安全问题:Context Variables

Python协程安全问题:Context Variables一、问题:最近,同事压测遇到奇诡问题,添加好友功能在少量并发压测时没有问题;但是,增加并发压力后,出现增加好友失败。和开发等位问题时,发现是不同用户重复发送同一个authentication。只是,不能确定是开发的bug还是测试代码问题。正常情况错误情况二、定位问题:tcpdump + wireshark 抓包# tcpdump -i eth0 -nn ip src host node1 -w friends.cap#

2021-12-17 21:02:07 3310

原创 数据筛选:Namedtuple 的运用

数据筛选:Namedtuple 的使用一、需求:需要对上面xls文档进行数据筛选。当要多列数据结合统计时,使用Namedtuple比字典高效。二、原因:Namedtuple比普通tuple具有更好的可读性,可以使代码更易于维护。同时与字典相比,又更加的轻量和高效。但是有一点需要注意,就是namedtuple中的属性都是不可变的。任何尝试改变其属性值的操作都是非法的。三、使用:为了构造一个namedtuple需要两个参数,分别是tuple的名字和其中域的名字。比如,tuple的名字是“apply

2021-12-05 23:12:14 1569

原创 压测:Docker安装Pythonnet环境

压测:Docker安装Pythonnet环境一、需求:压测C#项目时,Python需要调用Pythonnet(DLL库)二、问题:测试开发时,每个人的环境可能不同。如果使用Docker作为开发环境,就可以避免这种情况产生的问题。三、安装使用:1.从Dockerfile编译docker build -t allan-pythonnet:0.01v . # 从Dockerfile编译DockerfileFROM eversysrnd/pythonnet:3.7.9-with-dependen

2021-12-02 12:07:54 327

原创 压测:Ubuntu20.04下,安装Pythonnet的方法

压测:Ubuntu20.04下,安装Pythonnet的方法一、需求:压测C#项目时,Python需要调用Pythonnet(DLL库)二、问题:简单解释一下,为什么怎么安装都会失败:To install on Linux some dependencies are required such as: (你可以在这里看到所有的Troubleshooting说明)Mono-complete or Mono-devel (https://www.mono-project.com/download/s

2021-12-01 17:04:03 373

Linux 性能优化

Readers learn to use Linux's rich set of performance tools to make their applications run better. * Readers learn how to find and remove performance bottlenecks and increase the performance of Linux applications. * Useful format -- Reader learns tool's purpose, the tool's options, than a hands-on example of how to use the tool. * Author is key -- enhanced the industry standard and established benchmarks for greater performance.

2018-12-25

Dockerfile 构建 HttpTestbed 新镜像

Docker CI: 基于 Dockerfile 构建 HttpTestbed 新镜像(接口测试)

2018-10-22

Robotframework框架安装包

windows下,Robotframework环境搭建所需的安装软件包。

2018-07-13

autoMonkey框架源代码

当前移动互联网已经过了草创时期,各家公司都在抢占市场和用户;那么,就看哪一家做的更精致(交互做的更好,崩溃出现的更少)。 Android用户也许会经常碰到以下的问题: 1.稳定性问题 —— ANR /Crash等问题;ANR是指当Android系统监测到应用程序在5秒内没有响应输入的事件或广播在10秒内没有执行完毕时抛出无响应提示。Crash是指当应用程序出现错误时导致程序异常停止或退出的情况。 2.性能问题 —— 应用启动慢(首次/非首次启动应用,进入应用特别慢),CPU不足/内存泄露(应用使用过程中,越来越卡),应用耗电快(应用后台开着,手机很快没电)等问题。 注:卡顿与ARN的问题。卡顿简单的来说,就是手机没有及时响应、页面延迟,出现丢帧的现象,或者点击无响应。绝大多数的卡顿,稍等片刻系统就会恢复正常,但假如超过5S,就可能会引发手机ANR警告。 APP测试涉及各个方面,而稳定性和性能测试一般在功能测试完成后开展。

2017-11-21

360webdriver

实现robotframework 和 selenium 的webdriver二次开发。针对360浏览器的版本是8.1.1.258版本,内核是45.0.2454.101

2017-09-01

Python 数据驱动

robotframework框架下,用 Python 实现数据驱动

2017-08-04

空空如也

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

TA关注的人

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