- 博客(30)
- 收藏
- 关注
原创 python如何判断图片为黑白还是彩色
对于RGB模式的图片,情况稍稍复杂些。理论上只需判断RGB三个通道的值是否相等,但是现实中灰度图常常各通道间存在轻微差异,但是人眼难以察觉,依旧可以认为是灰度图。所以现实中,应该判断三个通道间的差异大小比较合理。这里采取的策略是计算三个通道间像素值的差的方差的均值,小于一定阈值的就判断为灰度图。对于单通道的图片只需要判断图片的通道值是否为1。RGB 三通道的图片,但是每个通道的值相等。
2024-04-11 16:52:37 282
原创 pyautogui 配合 selenium 实现桌面坐标系定位元素坐标,模拟真实鼠标行为,获取到的控件坐标有偏差
原因:通过selenium node.location获取的坐标是相当于浏览器实际内容窗口的坐标系,而不是电脑的相对坐标,不能满足pyautogui 直接去自动化操作。这时可以通过浏览器js 获取菜单等实际边框大小计算出 实际的node.location零点位置相对于桌面坐标的坐标系,从而得出元素在桌面坐标系的位置。问题:当我用webdriver获取到的元素坐标,加上偏移量,pyautogui来模拟鼠标操作元素,发现实际的元素坐标与获取到的元素坐标不一致,导致无法准确操作元素。
2023-11-16 11:06:36 231
转载 Python笔记-解决pyinstaller打包后运行时动态加载模块报错(No module named)
首先第一点,先检查你的虚拟环境/全局环境是否有安装pyinstaller,可以在设置-》项目-》python解释器中看到,我这边没安装也能用pyinstaller,可能是解释器自带的一个老版本,必须将pyinstaller更新到最新的。通过以上操作解决了第三方库的模块报错的问题,但是还没有解决我们自身打包的文件依赖其他文件的问题,接下来只需要把每个依赖文件中的 from xxx.xx import xxx改为绝对路径即可。3、找到上图所示库所在文件夹,然后将库复制出来,放到第1步建好的文件夹中。
2023-06-05 11:21:11 2571 1
原创 ImportError: The ‘appdirs‘ package is required; normally this is bundled with this package so if you
pyinstaller
2023-04-03 14:00:41 1357
原创 pycharm无法打断点调试
Pycharm debugger getting error when break point is keptPycharm调试器在保留断点时出错
2023-01-12 11:36:31 543
原创 如果用python通过串口serial类对liunx系统写入多行命令
python通过serial类一次性写入多行命令会进入编辑模式 即最左边显示>,提示命令没有收尾多行命令需要一行一行的写入,每一行需要调用一次write方法编辑模式>如何退出?ctrl c,ctrl d都可
2022-09-17 19:11:52 252
原创 webdriver元素识别模糊匹配
selenium有8大识别方式,其中适用性最广的就是模糊匹配,下面举个例子"//tr[@id=‘test_tr’]//ul[contains(@class,‘el-select-dropdown__list’)]/li/span[text()=‘High’]/…//:代表孙子或者重孙节点tr:代表控件的类型,如果不知道可以用*代替[] :属性值描述的集合@:某一项属性text():文本文字contains:代表该属性含有某个字符串…: 父节点...
2022-04-18 21:44:10 326
原创 python pip下载问题
当网络无问题下载包时,如果用pip下载出现:WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘ConnectTimeoutError(<pip._vendor.urllib3.connection.HTTPSConnection object at 0x000001B1CC3EA588>, ‘Connection t
2022-04-02 18:00:50 702
原创 继电器的使用
简介继电器在测试当中使用来做硬拔电重启的工具,连接机器与电源之后,通过控制USB串口从来而控制板子上的开关进行断电连电。图片:使用连上之后如何使用呢?USB连接电脑,继电器的连接电源与机器,做一个中继的作用。如何用代码控制:from config import LOGGERfrom serialex import SerialExclass RelaySerial(SerialEx): def __init__(self, com, timeout=0.5):
2022-01-19 11:39:01 737
原创 pywinauto桌面自动化
环境:pywinauto目前只支持python2.0版本的环境。可以使用six: 用来兼容Python2和Python3的库https://pypi.org/project/six/—没有试验过。使用:1、启动用start启动应用–用于软件还没有启动的情况,默认的timeout时间是5秒。如果启动时间较长,可以加上timeout时间start(self, cmd_line, timeout=app_start_timeout)示例:app = Application(backend = ‘uia’
2022-01-19 11:25:42 2588
原创 linux常用命令
目录操作:pwd:查看当前目录clear:清屏cd:进入某个目录(~当前用户的目录;/根目录;-上一次访问的目录;…上一级目录)ll:查看当前目录mkdir aaa 与mkdir ./aaa 都是当前目录下创建文件夹mkdir / aaa 绝对路今夏创建文件夹find / -name ‘b’ 查找根目录下名字是b的文件find / -name ‘b*’ 查找根目录下名字以b开头的文件移动mv /aaa /bbb 将根目录下的aaa目录移动到bbb目录下复制cp -r /aaa /bb
2021-11-12 20:55:35 931
原创 如何做接口功能测试
给定一个接口,该如何做出测试接口一般分为两种:1.程序内部的接口2.系统对外的接口系统对外的接口:比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。程序内部的接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互,它就会抛出一个接口,供内部系统进行调用。接口的分类:
2021-11-08 21:04:56 246
原创 2020-10-31
spoof,测试桩解决接口测试过程中难以创建的测试场景,当接口测试时,可以人工模拟数据的返回,即数据欺骗spoof。具体如何操作参照测试场景,比如调用接口搜索,据关键字,返回一个空的response,即可搭建一个python的微服务,把客户端的接口地址指向自己搭建的服务,handle该请求,返回response。比如界面变化会影响自动化稳定性,即可把返回给客户端的response写死,让界面变得稳定,便不会因变化二影响元素识别,影响自动化稳定性...
2020-10-31 23:19:25 47
原创 2020-10-31
常用linux,adb命令chmod 777命令,改权限命令,对某个目录的 读,写,执 rwx,0为false,1为true,采用二进制形式,如果rwx都有权限即加起来为7,用户有三种,三个位置都为7,从位置来说代表,该文件所有者,与所有者所在的同一群组,其他ls -all,列出目录下所有文件以及权限信息ps查看进程rm 删除文件adb shell进入linux模式adb remount,让系统的权限变得可读可写adb root拿到超级管理员权限adb devices查看所有连接的设备a
2020-10-31 22:34:53 76
原创 2020-10-31
UIautomator2在安卓app测试框架搭建流程被测对象设备可以拿到root权限,打开设备的开发者模式,打开允许usb调试,安装USB驱动,可用驱动精灵。即可用adb命令接操控设备。电脑上安装adb包,就可以敲命令连接了,有三种方式,wifi,usb转网口线,串口线下载python环境,基于该环境,下载uiautormator2相关第三方包,pip install --pre -U uiautomator2连接设备之后,下载相关apk可以用命令,python -m uiautomator2 i
2020-10-31 21:46:55 105
原创 用ALM+QC+UFT+Excel做自动化的笔记
项目组自动化工作中的总结vbs基础语言常用的关键字:定义方法Function Func(ByVal Param1) intA = 1+3 ’-------注解用“‘”,如果是普通基本类型,可以直接用,无需定义 Func = intA ’-------当需要有返回值时,用方法名等于返回参数或值即可 End Function定义类Class cTest Private Sub Class_Initialize() '类加载的初期做的工作
2020-07-15 23:29:12 390
原创 2020-07-07
蚂蚁测试工程师面试—重在参与接到了蚂蚁金服的测试工程是的电话面试,感觉是蚂蚁内部员工搜索到的简历,然后走的内推。目前才第一面加笔试。电话面试的时候,问题的问题挺多的。印象比较深刻的是:1、介绍项目业务,项目现有架构是什么样的。我在公司主要负责功能自动化测试,是黑盒测试,对项目架构并不了解,这个考察有没有深度观察平时所做的项目,平时要多留意。。2、测试过程中如何掌控风险。3、自动化测试过程中,你认为你做的比较重要有亮点的工作有哪些。4、说说项目上用的自动化测试框架5、现在所做的自动化测试项目有哪
2020-07-07 23:45:00 74
原创 模块化编程的六大原则
单一职责原则:类的职能要单一:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会使职责P1发生故障风险里氏替换原则:...
2019-02-17 19:22:13 7569 1
原创 设计模式----简单工厂模式
工厂模式类图解读:定义了一个接口,需求有多种实现方式,用户需要哪一种实现来完成操作,就仅需调用工厂类并且传入一个标志字符,工厂类接收到这个字符之后,会自行判断并且调用需要的实现。工厂类的实现可以使用反射机制,也可以使用枚举判断。见源码步骤 1创建一个接口:Shape.javapublic interface Shape { void draw();}步骤 2创建实现接口...
2018-12-26 16:37:20 82
原创 Java基础学习之---反射机制
1.反射机制是什么: 反射机制就是根据类名获取到这个类的反射,从而可以调用这个类的属性方法,很多开源的框架均有用到反射,属于动态绑定静态绑定:在编译时确定类型,绑定对象,即通过。动态绑定:运行时确定类型,绑定对象。就是在运行时要根据传入的参数才知道要去实例化哪一个类的对象。2.反射机制优缺点: 就是在运行时要根据传入的参数才知道要去实例化哪一个类的对象,随着这一类的类增加,反射可以不用改...
2018-12-26 14:52:34 102
原创 用超链接打开App
如何用超链接打开App的某一个页面—如果App在AndroidManifest.xml有配置shame,端口号,host等等…则可以通过shame加上端口号打开App,就类似于http与https例如:vistanaApp:8080// 可以打开 shame,端口号分别为 vistanaApp,8080的app,而且是不区分大小写的,—如何知道你想打开的App的shame,与端口号呢1:...
2018-12-18 17:52:40 1610
原创 App闪退问题总结------未完待续
App 闪退原因有如下由于App程序内部抛出异常没有catch的情况:程序代码有问题(出现如空指针,下标溢出等情况),或者缺少某个配置项导致的某功能不能用手机给应用分配的内存不够,从而引发的闪退问题,需要优化手机性能网络问题,当设备连接网络超时,而App并没有处理这种超时抛出的Exception其他原因App不兼容当前设备的操作系统,App支持的安卓操作系统版本不包括设备目前的版本...
2018-12-18 17:10:18 2228
原创 Java基础学习之---如何实现多线程
线程的状态:1.新建状态:通过new或者thread类与其子类传建一个线程,为新建线程2.当新建线程调用了start()方法之后,为就绪状态3.当线程获取到了CPU资源时就为运行状态运行状态的线程有可能会因为执行了sleep(),suspend()挂起,失去CPU资源而进入堵塞状态,重新获得资源之后在进入就绪状态1.等待阻塞,再重新获得资源的过程中,或者其他情况线程调用了wait()...
2018-11-26 17:47:45 99
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人