自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python进阶

类工厂的作用:动态创建类: 类工厂允许在运行时根据不同的需求动态创建类,而不是在编写代码时就固定好类的结构。参数化类的创建: 类工厂可以接受参数,根据参数的不同来生成不同的类,实现类的定制化。请注意,线程状态可能因操作系统的调度而有所变化,这里的演示仅是一个简单的示例。现在我们就能看到其实这两段代码统计结束和起始之差的代码是高度类似的,这个其实是可以封装成一个方法的,这个其实就是我们接下来要讲解的装饰器。函数式编程的核心思想是将程序分解成小的、可组合的函数,通过组合这些函数来构建更复杂的程序。

2023-12-21 16:43:48 408

原创 pyqt点击按钮执行脚本

self.setWindowTitle('测试常见的操作')array_2d[0][0] = "json转excel"array_2d[0][1] = "excel转json"array_2d[0][2] = "登录服务器"array_2d[1][1] = "统计成功率"array_2d[2][1] = "计算题统计"array_2d[2][2] = "知识题统计"array_2d[1][0] = "文件去重"array_2d[1][2] = "文件整理"array_2d[2][0] = "文件输出"

2023-08-23 17:45:58 672

原创 python 多线程模拟多用户访问接口

print(f"程序耗时:{elapsed_time:.6f} 秒")chinese_text = "什么是增值税"# 创建多个线程来模拟多个用户访问接口。# 定义访问接口的函数。# 在这里执行你的代码。# 等待所有线程完成。

2023-08-23 17:42:45 284

原创 python读写excel内容作为参数进行接口请求

sheet = workbook.active # 选择活动工作表,或者使用 workbook["工作表名称"] 选择特定工作表。workbook = openpyxl.load_workbook(filename) # 替换为你的Excel文件路径。print("当前运行了"+str(i+1)+"个接口")column_number2 = 2 # 读取B列的数据。# 指定要读取的列号(A列为1,B列为2,依此类推)print("Excel文件列表:")# 遍历指定列的所有行。# 输出获取的列数据。

2023-08-23 17:08:09 269

原创 一个pdf文件分割成两个

# 将写入对象内容保存到两个新的PDF文件中。# 将写入对象内容保存到两个新的PDF文件中。# # 确定分割点(例如,将页面一分为二)# # 将页面分别添加到两个写入对象中。# 确定分割点(例如,将页面一分为二)# 将页面分别添加到两个写入对象中。# # 创建两个PDF写入对象。# 创建两个PDF写入对象。# 打开原始PDF文件。# 打开原始PDF文件。

2023-08-23 17:04:45 741

原创 当前目录下的excel文件的两列内容的相似度比较

column3_values = data.iloc[:, 1] # 第3列的值。column5_values = data.iloc[:, 3] # 第5列的值。print("两段话的余弦相似度:", similarity_value)print("内容已写入到", txt_file)res.append("部分正确")print("\n第5列的值:")res.append("正确")res.append("错误")print("第3列的值:")# 提取第3列和第5列的值。# 打印xlsx文件名。

2023-08-23 17:01:46 933

原创 统计字符串中每个字符出现的次数

import java.util.HashMap;public class TheSameSum {public static void count(String str){char[] chars = str.toCharArray();HashMap<Character,Integer> hm = new HashMap();for(char c : chars){if(!hm.containsKey©){hm.put(c,1);}else{hm.put(c, hm.get

2022-04-07 17:01:03 835

原创 输出最后一个字符串的长度

输出最后一个字符串的长度import java.util.Scanner;public class Main {public static void main(String[] args){Scanner scanner=new Scanner(System.in);String str=scanner.nextLine();String[] s=str.split(“\s+”);System.out.println(s.length+“=length”);int length=s[s.le

2022-04-07 16:59:08 720

原创 Java字符串左移右移动

public class MoveTheKnumber {public static void main(String[] args) {String startStr=“ABCDEF”;System.out.println(getKnumber_left(startStr,2));String endStr=“ABCDEFABCDEF”;}////将字符串循环做移动K位public static String getKnumber(String str,int n){if(str.l

2022-04-01 23:07:11 834

原创 java 合并两个数组并且取中间值

package LiKou;public class MiddleValue {public static void main(String[] args) {Double[] data={1.0,3.0,5.0};Double[] data2={2.0,4.0,6.0,7.0,8.0};getthemiddle(data,data2);}private static void getthemiddle(Double[] data, Double[] data2) { Double[

2022-04-01 23:05:42 462

原创 Java 奇偶分离

public class MiddleHalf {public static void main(String[] args) {int[] nums={1,4,3,5,0,3,10};int[] result=sortArrayByParity(nums); for(int data: result){ System.out.println(data); }}public static int[] sortArrayByParity(int[] A)

2022-04-01 23:04:14 302

原创 java合并两个数组

package LiKou;public class MergeTwoArrays {public static void main(String[] args) {int[] data1={1,3,5,7};int[] data2={2,4,6,8,10,12,14};int[] result=getTwoArray(data1,data2);for(int i=0;i<result.length;i++){System.out.println(result[i]);}}publ

2022-04-01 22:59:55 2616

原创 Java 菲波纳切

package LiKou;import java.util.Scanner;public class FeiBoNaQie {//输出斐波那契数 public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("你想输出几个斐波那契数?"); int n=input.nextInt(); int

2022-04-01 22:56:42 368

原创 java 二叉树的三种遍历

import java.util.Stack;public class BinaryTree {public static void main(String[] args) {TreeNode root = new TreeNode(1);TreeNode n1 = new TreeNode(2);TreeNode n2 = new TreeNode(3);TreeNode n3 = new TreeNode(4);TreeNode n4 = new TreeNode(5);TreeNode

2022-04-01 22:53:42 861

原创 Java 单例模式

import sun.security.jca.GetInstance;public class Singleton {private Singleton() {}private static Singleton single=null;//静态工厂方法public static Singleton getInstance() {if (single == null) {single = new Singleton();}return single;}public static syn

2022-04-01 22:51:05 178

原创 c++基础

C++浅谈闲暇之际,一直想把自己那些零碎的知识给连贯起来,形成一个体系,所以才决定写点东西来整理下最近半年来的知识点,我想把自己的知识输出才是最高效的学习方法,本博客讲结合我自己本人的实际工作经验,进行浅谈,与诸君分享,共同进步,由于能力有限,博客中有纰漏和错误的地方请诸位斧正。为何不是java和python哪,以我个人的角度来看,c++这门语音相对门槛比较高,学习比较费劲,导致从事该行业的比较少,整体从业人员的年龄也偏大...

2021-07-11 17:20:29 83

原创 GDB调试C++程序

C++ 程序在编译通过之后,执行c++二进制文件的时候,如果中途报错,比如空指针等常见的错误这个时候就需要用到gdb来进行调试,一步步的排查错误,那么什么是GDB哪,全程就是GNU symbolic debugger,专门用来调试程序的,比如我现在给展示一个简单的程序,生成的二进制文件genernaterTest_F(Testdemo,testlevel){BDMap* bdmap;Bamap->set_level(2,true);}这几行代码在编译的时候是不存在语法错误的,正常通过的,但是

2021-07-11 16:05:22 559

原创 python android 录制屏幕

def settingtime():while True:starttime = time.strftime("%H:%M:%S");recordcmd=“adb shell screenrecord /sdcard/demo.mp4”pullfile=“adb pull /sdcard/demo.mp4 /Users/shixinfa/Desktop/0402”AVATAR_STRANGER_PATH = “/Users/shixinfa/Desktop/0402”os.system(rec

2021-04-13 18:06:57 662

原创 Python 多线程统计

2021-04-13 18:03:33 272

原创 pythonHtmlRunnner

class sendEmail:def sendemail(self):# msg = email.mime.multipart.MIMEMultipart()# msg[‘from’] = ‘[email protected]’# msg[‘to’] = ‘[email protected]’msg = MIMEMultipart()tolist = [‘[email protected]’, ‘[email protected]’, ‘[email protected]

2021-04-13 17:59:17 212 2

原创 python性能测试

import codecsimport subprocessimport osimport timeimport unittestfrom pytestreport import TestRunnerimport uiautomator2 as u2import emailimport osimport smtplibimport randomimport uiautomator2 as u2import timeimport unittestfrom email.mi

2021-04-13 16:30:50 173

转载 python类基础

类把数据与功能绑定在一起。创建新类就是创建新的对象 类型,从而创建该类型的新 实例 。类实例具有多种保持自身状态的属性。类实例还支持(在类中定义的)改变自身状态的方法。和其他编程语言相比,Python 用非常少的新语法和语义将类加入到语言中。它是 C++ 和 Modula-3 中类机制的结合。Python 的类提供了面向对象编程的所有标准特性:类继承机制允许多个基类,派生类可以覆盖它基类的任何方法,一个方法可以调用基类中相同名称的的方法。对象可以包含任意数量和类型的数据。和模块

2021-04-04 12:56:46 267

原创 unittest-单元测试框架

unittest-单元测试框架源代码: Lib / unittest / __ init__.p(如果您已经熟悉测试的基本概念则可能要跳到assert方法的列表。)该unittest单元测试框架最初是由JUnit的启发,也有类似的味道在其他语言主要单元测试框架。它支持测试自动化,共享测试的设置和关闭代码,将测试聚合到集合中以及测试与报告框架的独立性。为此,unittest以面向对象的方式支持一些重要的概念:测试治具甲测试夹具表示执行一个或多个测试所需要的制剂,以及任何相关的清除动作。例如,这可能

2021-04-03 23:56:04 616

转载 fiddler接口基础

为什么要先学fiddler?学习接口测试必学http协议,如果直接先讲协议,我估计小伙伴们更懵,为了更好的理解协议,先从抓包开始。结合抓包工具讲http协议更容易学一些。抓firefox上https请求fiddler是一个很好的抓包工具,默认是抓http请求的,对于pc上的https请求,会提示网页不安全,这时候需要在浏览器上安装证书。一、网页不安全1.用fiddler抓包时候,打开百度网页:https://www.baidu.com2.提示:网页不安全在这里插入图片描述二、fiddler

2021-04-03 23:45:34 1329

原创 python性能自动化

import codecsimport subprocessimport osimport timeimport unittestfrom pytestreport import TestRunnerimport uiautomator2 as u2import emailimport osimport smtplibimport randomimport uiautomator2 as u2import timeimport unittestfrom email.mi

2021-04-03 23:37:39 173

原创 uiautomator2实例

from pytestreport import TestRunnerimport uiautomator2 as u2import emailimport osimport smtplibimport randomimport reimport loggingimport timeimport configfrom time import sleep#from resource.baidumap import BaiduMapimport unittest#from util i

2021-04-03 23:35:41 481

原创 monkeyrunner的基本

#导入我们需要用到的包和类并且起别名import sysfrom com.android.monkeyrunner import MonkeyRunner as mrfrom com.android.monkeyrunner import MonkeyDevice as mdfrom com.android.monkeyrunner import MonkeyImage as mi#connect device 连接设备#第一

2021-04-03 23:26:16 125

原创 android常见的monkey命令

adb shell monkey -p 包名 -v 9000000adb shell ps | grep monkey //查找到monkey pidadb shell kill [刚才查到的进程号]指定一个包: adb shell monkey -p cn.emoney.acg 10指定多个包:adb shell monkey -p cn.emoney.acg –p cn.emoney.wea -p cn.emoney.acg 100不指定包:adb shell monkey 100adb s

2021-04-03 10:36:03 244

原创 Android常见的adb命令

查看当前的deviceadb devices如果有多个devicesadb -s 设备号 其他指令查看顶部Activity:windows环境下:adb shell dumpsys activity | findstr “mFocusedActivity”Linux、Mac环境下:adb shell dumpsys activity | grep “mFocusedActivity”查看日志:adb logcat安装apk文件:adb install xxx.apk此安装方式,如果

2021-04-03 10:14:54 112

原创 Tkinter批量截取log

#!/usr/bin/python-- coding: UTF-8 --import Tkinterimport os,sys;import time;import tkinter.messageboxreload(sys)sys.setdefaultencoding(‘utf-8’)top = Tkinter.Tk()top.geometry(‘580x500’)top.resizable(100, 100)top.title(“批量截取日志”)e = Tkinter.String

2020-09-10 14:18:45 209

原创 测试小结

1.linux设置系统时间date -s “20200806 16:25:50”2.linux查看最新的日志tail -f *.log | grep “sxf”3.linux查看线程消耗top -H -p pid |grep Tmcom-Map4.linux 挂载mount -o remount,rw /5.性能统计6.SCRT是一款界面化的串口连接工具...

2020-08-06 16:39:00 111

原创 cpu

#!/usr/bin/env python-- coding: utf-8 --import matplotlib.pyplot as pltimport numpy as npimport sysimport datetime修改文件路径filePath = “/home/st/Desktop/draw-performance-pgen5/”file_tag = “Performance”x_time = 0x_cpu = 1x_mem = 2nowTime=datetime.da

2020-07-15 11:08:31 115

转载 python操作mysql数据库

import pymysqlconn = pymysql.connect(‘localhost’, ‘root’, ‘933032shixinfa’, ‘user’)cursor = conn.cursor() # 游标对象用于执行查询和获取结果cursor.execute(‘DROP TABLE IF EXISTS EMPLOYEE’)sql = “”“CREATE TABLE employee (first_name varchar(255) DEFAULT NULL COMMENT ‘姓’

2020-07-07 12:28:24 193

原创 python自动拷贝日志

#!/usr/bin/env pythonencoding: utf-8import osimport timeimport reimport osfrom time import sleepother importscmd3=“adb pull /resources/map/BaiduMapAuto/bnav/log /Users/shixinfa/Desktop/0630/log”os.system(cmd3)while True:file1 = os.stat(’/Users/s

2020-07-07 12:21:38 198

原创 adb脚本

#!/bin/bashadb push /Users/shixinfa/Documents/MMConfig_qa.cfg /sdcard/BaiduMapAuto/MapMatchConfig/sleep 2adb shell am force-stop com.baidu.naviautosleep 2adb shell am start -n com.baidu.naviautosleep 3adb shell input top 740 300adb shell input tex

2020-07-07 12:19:48 605

原创 Python自动化

#!/usr/bin/env python-- coding: utf-8 --import linecache#import pyautoguiimport osimport reimport shutilimport timeimport smtplibimport timeimport randomfrom email.mime.application import MIMEApplicationfrom email.mime.text import MIMETextfrom

2020-06-13 11:59:37 177

原创 python发送邮件

#!/usr/bin/env python# -- coding: utf-8 --import linecacheimport osimport reimport shutilimport timeimport smtplibfrom email.mime.application import MIMEApplicationfrom email.mime.text import MIMETextfrom email.mime.multipart import MIMEMultipart

2020-06-12 15:18:21 145

原创 C++基础

头文件#ifndef STUDENT_H#define STUDENT_H#include “iostream”#include “array”#include using namespace std;//静态修饰static string name=“sxf”;class Student{public:Student();//数组string girlsfriends[10]={"仓老师","仓老师","仓老师"};//动态数组int *boyfriends=new int

2020-06-09 20:50:17 142

原创 uiautomator2常见的API操作

click(int x, int y) pressHome()getCurrentActivityName() pressMenu()getCurrentPackageName() takeScreenshot(File storePath)getDisplayHeight()getDisplayWighth()isScreenOn() wakeUp()pressBack()swipe(int s

2020-06-07 22:21:42 3290

原创 uiautomator2连接手机

1 .目前市场上做Android的ui自动化测试的工具比较多主要有UIAutomator2、Appium、Robotium,UIAutomator2是一个自动化测试开源工具,仅支持Android平台的原生应用测试。它封装了谷歌自带的uiautomator2测试框架,提供便利的python接口。他允许测试人员直接在PC上编写Python的测试代码,操作手机应用,完成自动化,大大提高了自动化代码编写的效率。Appium的搭建环境比较复杂,JDK + Android-sdk + Node.Js + Appium

2020-06-07 22:20:31 1789

空空如也

空空如也

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

TA关注的人

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