python
车载testing
选择大于努力,代码成就人生
展开
-
python 根据参数不同,调用不同的类和方法
如果你的类实现了相同的接口(即它们都有相同的方法),你可以使用策略模式。策略模式定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换。策略模式使得算法可以独立于使用它的客户端变化。创建一个字典,其中键是参数值或参数值对应的字符串,值是对应的类。然后,你可以根据参数从字典中获取类,并创建实例或调用其方法。工厂函数或方法可以根据传入的参数返回不同的类实例。这种方法更灵活,允许你在返回实例之前进行额外的逻辑处理。原创 2024-03-20 18:15:26 · 295 阅读 · 0 评论 -
python开发自动创建类和方法
1.如何实现根据参数自动创建类和方法,这是测试开发的必学课程。原创 2024-03-20 18:03:45 · 308 阅读 · 0 评论 -
python subprocess执行cmd同时输入密码获取参数
组合起来,这个命令的意图是:输出密码,然后将这个输出作为 adb shell ls /log 的输入。不过,请注意,直接在命令行中输出密码(尤其是使用 echo)是不安全的,因为这会将密码暴露在命令历史中,也可能被其他用户在进程列表中看到。adb 是 Android Debug Bridge 的缩写,它是一个命令行工具,允许你与 Android 设备进行通信。这个命令是一个组合的命令,涉及到 echo、管道 | 和 adb shell ls /log。它的作用是将前一个命令的输出作为下一个命令的输入。原创 2024-01-10 15:38:49 · 755 阅读 · 0 评论 -
python内存处理和常见的内存泄漏场景
*循环引用检测:**若对象之间存在相互引用,则对象间将形成一个环状结构,使得引用计数不会降为零,因此内存无法被自动回收,导致内存泄漏。:采用gc.collect()进行手动强制执行垃圾回收,采用变量赋值为空,等待下一轮python自动回收,采用del变量,直接删除。**引用计数(reference count):**垃圾回收机制会记录每个对象被其他对象所引用的次数。原创 2023-12-06 16:07:19 · 254 阅读 · 0 评论 -
python十大装逼语法
元类(Metaclass)是 Python 中一个非常高级的概念,用于创建和管理类。简单来说,元类是创建类的"类"。它们在 Python 中用于实现很多高级的面向对象编程功能,例如自动注册类、修改类的行为等。Python提供了很多高级函数(如map、filter、reduce等),可以用简洁的方式对列表进行操作。在这个方法中,我们可以添加自定义的逻辑,例如打印一些信息或者修改类的行为。使用一行代码创建一个新的列表,可以在其中进行条件过滤、循环等操作。可以在不改变函数或方法代码的情况下,添加或修改其功能。原创 2023-11-29 09:46:24 · 790 阅读 · 0 评论 -
python getattr() setattr() hasattr() delattr()内置函数详解
例如,可以使用 getattr() 和 setattr() 来动态访问和修改对象的属性,而 hasattr() 和 delattr() 可用于检查属性是否存在并删除属性。返回值:返回属性的值,如果属性不存在且没有指定默认值,则会引发 AttributeError 异常。功能:检查对象是否拥有指定的属性。object:要获取属性的对象。object:要设置属性的对象。object:要删除属性的对象。功能:删除对象的指定属性。功能:获取对象的属性值。功能:设置对象的属性值。name:属性的名称。原创 2023-11-28 17:54:12 · 129 阅读 · 0 评论 -
pyinstaller打包带进程池的代码(注意事项)
2. 运行时对文件读写。报错:文件内容不存在。原创 2023-08-22 15:17:31 · 54 阅读 · 0 评论 -
重写python requests库实现自动拼接url
重写requests库 实现自动拼接URL原创 2023-03-06 15:19:45 · 486 阅读 · 1 评论 -
python socket 编程
python socket 编程一. socket是python做编程必学的一个模块,他是又客户端和服务端组成,这样我们就可以跟服务器实现通讯,了解过TCP的应该知道,多余的不废话,直接开始。二. 服务端代码示例from socket import *IP = '192.168.56.1'PORT = 50000# 字节流BUFLEN = 512MonitorSever = socket(AF_INET, SOCK_STREAM)# 绑定ip 端口MonitorSever.bind((原创 2022-03-10 13:50:33 · 1279 阅读 · 0 评论 -
面试:python基础 经典80问
python 经典80个基础知识1:为什么学习Python公司建议使用Python,然后自己通过百度和向有学过Python的同学了解了Python。Python这门语言,入门比较简单,它简单易学,生态圈比较强大,涉及的地方比较多,特别是在人工智能,和数据分析这方面。在未来我觉得是往自动化,人工智能这方面发展的,所以学习了Python。2:通过什么途径学习Python自学,练项目,到GitHub上面找一些小项目学习。3:谈谈对Python和其他语言的区别Python属于解释型语言,当程序运行时,是原创 2021-11-25 16:05:00 · 8115 阅读 · 0 评论 -
python+opencv图像处理之边缘检测车道线识别
python+opencv图像处理之边缘检测车道线识别1.自行安装python和opencv2.导入我们要使用的相关库import cv2from matplotlib import pyplot as pltimport numpy as np3.我们使用以下图片做本次项目原图img = cv2.imread("lu.png") # 读入图片print(img.shape) # 查看属性#plt.imshow(gray_image) # matplotlib中show函数#pl原创 2021-11-03 13:29:01 · 3096 阅读 · 0 评论 -
Python+uiautomator2移动端UI自动化测试实战之元素截图局部图片
python + uiautomator2 中文使用细则一、安装1.安装uiautomator2#由于uiautomator2仍在开发中,因此您必须添加‘–pre’才能安装开发版本。pip install --pre uiautomator2#也可以从源代码安装git clone https://github.com/openatx/uiautomator2pip install -e uiautomator2如果需要截屏,还要安装pillowpip install pillow原创 2021-09-22 17:08:44 · 1325 阅读 · 0 评论 -
python+opencv判断开关或按钮的状态
python+opencv判断开关或按钮的状态前言:前期我们说过移动端定位问题(使用adb 坐标,使用uiautomator2,opencv获取坐标的方法)今天我们讲一下关于判断一个开关或者按键的状态。opencv真的是一个非常强大的模块,大家可以多学一下,大佬请忽略1 . 第一步安装opencv,大家自行安装2. 第二步导入opencvimprot cv23.学习过opencv的同学应该知道其中有一个获取像素值的方法,今天我们就用到这个方法来判断某个地点的状态4.既然使用像素值来判断某个点原创 2021-09-14 11:13:35 · 3943 阅读 · 3 评论 -
python和adb操作
python和adb操作1.在进行安卓端操作的时候,我们就会用到安卓自带的一个内置debug工具adb,那么我们就使用python进行自动输入2.介绍一些常用的adb命令adb devices #查看连接设备adb get-state #获取设备状态 adb push <local> <remote> #向模拟器中写文件:adb pull <remote> <local> #获取模拟器中的文件:adb install -r 应用程序.apkad原创 2021-08-30 15:52:49 · 6762 阅读 · 2 评论 -
python +opencv 根据图片定位进行UI自动化
python +opencv 进行移动端UI自动化前言:做过移动端ui自动化的小伙伴,就会发现很多控件的元素是一样的或者是找不到的,为了解决这个痛点,于是通过图片灰度处理返回坐标x,y找到控件的位置。再结合pytest+接口+UI断言整体项目思路。1.接下来我们主要说一下基于opencv图片识别寻找控件坐标,pytest和接口不会的同学请看我的接口和pytest文章2. 我们使用两个图,一个是移动端截图,一个是控件的图,如下:接下来我们直接上代码import cv2import osi原创 2021-07-23 10:35:20 · 2637 阅读 · 1 评论 -
python+uiautomator2 UI自动化
python+uiautomator2 UI自动化uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库。其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性,模拟认为点击,滑动,输入等操作!一、github地址GitHub地址:https://github.com/openatx/uiautomator2二、版本要求python3.4以上安卓4.4以上三、安装pyth原创 2021-07-15 10:08:01 · 2578 阅读 · 0 评论 -
python 类和方法,继承
python 类和方法,继承# 我们定义一个人类,并继承基类objectclass People(object): # def __int__(self)初始化的一些属性 def __int__(self, money, sex, name): self.money = money self.sex = sex self.__name = name # __name 私有属性 def __money(self): # 私有方法原创 2021-06-02 10:02:14 · 111 阅读 · 0 评论 -
python函数定义
python函数定义"""#a为默认参数,args 是 arguments 的缩写,表示位置参数;kwargs 是 keyword arguments 的缩写,表示关键字参数。这其实就是 Python 中可变参数的两种形式,并且*args 必须放在 **kwargs 的前面,因为位置参数在关键字参数的前面。"""# 我们定义一个登录函数def login(a=1, *args, **kwargs): a += 1 print("我登录成功了") return原创 2021-06-01 20:14:28 · 51 阅读 · 0 评论 -
python连接mysql
python连接mysql安装:pip install pymysqlimport pymysqldbinfo = {"host": "47.104.190.x", "user": "root", "password": "x", "port": 3306}class DbConnect(): # database 连接表名 def __init__(self, db_cof, database="x"):原创 2021-05-21 09:15:39 · 100 阅读 · 1 评论 -
python实现ssh+scp文件上传下载
python实现ssh+scp文件上传下载import paramikofrom scp import SCPClientdef ssh(): ssh_client = paramiko.SSHClient() ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy) ssh_client.connect(hostname='172.20.1.11', port=22, username='root', p原创 2021-05-19 20:34:16 · 613 阅读 · 0 评论 -
python实现ssh+SFTP文件上传下载
python实现ssh+scp文件上传下载import paramikofrom scp import SCPClientimport os# scpclient只能上传/下载单文件 , 不能传文件目录def scp_up(ip_list, username, password, filepath_list,cmd,root_pwd): """ :param ip_list: ip地址 :param username:用户名 :param pwd:密码原创 2021-05-19 20:30:25 · 333 阅读 · 0 评论 -
详解python函数
详解python函数函数的好处就是我们不用管内部代码实现逻辑,调用函数关键字就能完成想实现的功能了.python内置函数查看:dir()函数定义:def add(): print("函数里面的方法") return '函数方法,执行的结果'# coding:utf-8def add(): '''无return''' print "返回一个值" print(add())def acc(): '''有return''' return "返回一个值"原创 2021-05-14 19:47:26 · 254 阅读 · 0 评论 -
python之json和dick数据类型
python之json和dick数据类型Python常见数据类型:None,bool,int,float,str,list,tuple,dict# coding:utf-8a = None # Noneprint(a)b = False # boolprint(b)c, d = 12, 10.6 # int,floatprint(c)print(d)e = "12aad" # str, unicodeprint(e)f = [1, 10.4, "1232aas", "ad原创 2021-05-14 17:54:13 · 860 阅读 · 0 评论 -
Python requests 库详解get和post
Pthon requests 库requests 安装:pip install requests指定版本安装:pip install requests == 2.22.0卸载安装:pip uninstall reques查看安装包:pip list如果按照超时,使用国内下载源:pip install --index -url https://pypi.douban.com/simp requestsget请求我们使用python发送get请求:improt requestsurl原创 2021-05-14 16:07:57 · 642 阅读 · 0 评论 -
python+opencv最简单的人脸识别
python+opencv最简单的人脸识别最近一直在学习opencv,忽然发现一个很神奇的模块{face_recognition},face_recognition是一个解析人脸的模块,核心大家可以pip 下载后自己研究 哈。接下来时一个摸鱼小助手,欢迎大家参考。import face_recognitionimport cv2import osimport time# 调用摄像头,外部摄像头为:1cap = cv2.VideoCapture(0)while True: #原创 2021-05-07 19:44:16 · 302 阅读 · 1 评论 -
python +pytest 最强自动化
python +pytest 最强自动化pytest 是测试最牛的一个测试框架,废话不多说,直接上干货。1 .Pytest核心功能:非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考。能够支持简单的单元测试和复杂的功能测试。支持参数化。能够执行全部测试用例,也可以挑选部分测试用例执行,并能重复执行失败的用例。支持并发执行,还能运行由nose, unittest编写的测试用例。方便、简单的断言方式。能够生成标准的Junit XML格式的测试结果。具有很多第三方插件,并且可以自定义原创 2021-04-10 17:59:21 · 1715 阅读 · 4 评论 -
python+opencv学习笔记,打开摄像头(三)
python+opencv学习笔记(三)学习打开摄像头捕获照片、播放本地视频、录制视频等。目标打开摄像头并捕获照片播放本地视频,录制视频OpenCV函数:cv2.VideoCapture(), cv2.VideoWriter()教程打开摄像头:要使用摄像头,需要使用cv2.VideoCapture(0)创建VideoCapture对象,参数0指的是摄像头的编号,如果你电脑上有两个摄像头的话,访问第2个摄像头就可以传入1,依此类推。# 打开摄像头并灰度化显示import cv2capt原创 2021-03-04 17:36:03 · 286 阅读 · 1 评论 -
python+opencv学习笔记(二)
python+opencv学习笔记(二)基本元素-图片学习如何加载图片,显示并保存图片。学习目标1.加载图片,显示图片,保存图片2.`OpenCV函数:cv2.imread(), cv2.imshow(), cv2.imwrite()教程大部分人可能都知道电脑上的彩色图是以RGB(红-绿-蓝,Red-Green-Blue)颜色模式显示的,但OpenCV中彩色图是以B-G-R通道顺序存储的,灰度图只有一个通道。图像坐标的起始点是在左上角,所以行对应的是y,列对应的是x:加载图片使用cv原创 2021-03-04 17:28:40 · 808 阅读 · 1 评论 -
python+opencv学习(一)
python+opencv学习(一)入门篇:01: 简介与安装简介跟多程序员都只得到opencv是c++底层,为什么学习python,不管哪一门语言,我们作为打工人,只需完成自己任务。python是一门真正的网红语言,它语法简洁易学,作为it大家都知道35岁就是我们的失业之年。再短短的十几年中希望我们能把技术做的更好,永不失业!安装opencv-python只需终端下的一条指令:pip install opencv-python不推荐自己去官网下载,opencv有很多的依赖包。安装测原创 2021-03-04 17:18:55 · 163 阅读 · 1 评论 -
python + request 接口自动化
python + request 接口自动化环境语言要求安装pythonpip install requestrequest简介request库 是urllib2 模块的升级版,平时我们要做接口自动化更多的会使用request库get请求和post请求import requestsurl = "https://www.baidu.com/"response = request.get(url)#发送get请求print(response)import requestsurl = "原创 2021-02-02 18:03:48 · 665 阅读 · 1 评论 -
python + uiautomator2 中文使用细则
python uiautomator2自动化uiautomator2 是一个可以使用Python对Android设备进行UI自动化的库环境配置要求adb 下载http://pan.baidu.com/s/1mgGkNZM电脑中添加adb的path值python 3x 下载地址:https://www.python.org/电脑中添加adb的path值1 .安装uiautomator2 打开cmd:pip install --pre uiautomator2pip install pi原创 2021-02-02 16:58:51 · 1393 阅读 · 0 评论