- 博客(40)
- 资源 (1)
- 收藏
- 关注

原创 APP自动化之uiautomator2的使用整合与实际使用
环境:Python3.7,adb1.0.41安装方式:pip install --pre uiautomator2注意,在安装时处理截图数据要额外安装pillow库pip install pillow 即可。在安装uiautomator2不成功时,可以尝试把–pre换成-U或者-e去进行安装。安装atx-agent:python -m uiautomator2 init安装weditor并桌面化1.pip install —pre weditor2.python -m weditor —shor
2020-06-09 20:12:51
4321
2
原创 Pytest的参数化测试
通过,不仅可以节省重复代码,对一个用例进行多个参数的测试,在对边界值、异常测试、多条件测试,提供了便捷的方式,同时可以跟fixture结合使用,来使代码简洁,并执行多次操作的目的。
2025-03-24 16:42:24
654
原创 Pytest的Fixture使用
Pytest中的Fixture可以使得测试代码高度复用,同时对资源进行安全的管理,以及在复杂的测试场景用进行灵活的组合。Pytest中提供了很方便的Fixture功能,方便我们初始化,释放资源的操作,提高了代码的可复用性。可以根据不同的场景来进行灵活的使用,同时Fixture不仅可以在conftest.py文件中定义,也可以直接在需要使用的py文件里进行定义,减少重复冗余的代码。
2025-03-23 21:24:19
1175
原创 Pytest基础使用
Pytest是Python里的一个强大的测试框架,灵活易用,可以进行功能,自动化测试使用,可以与Requests,Selenium等进行结合使用,同时可以生成Html的报告。
2025-03-20 22:55:50
547
原创 Python中Requests的Cookies的简单使用
Python的Requests库中有一个cookies,是用于管理HTTP Cookie的工具,可以像字典一样操作Cookie,支持自动处理作用域(域名、路径)和持久化,cookies是一个RequestsCookieJar的类型。Requests库提供了强大的HTTP Cookie管理,不仅可以通过指定domain和path来实现精准的携带Cookie访问,也作用在Session上,免去了每次都需要携带Cookie访问的情况。
2025-03-19 15:58:13
693
原创 解决RabbitMQ启动服务访问15672端口无法连接的问题
安装完成RabbitMQ后,发现启动RabbitMQ服务之后,打开15672端口没有显示Rabbit界面,再启动的时候报错可以看到RabbitMQ的服务已经启动了,但是可能是配置未被正确启用,导致管理界面无法打开。
2025-03-15 11:06:14
518
原创 Windows上使用go-ios实现iOS17自动化
在Windows上运行iOS的自动化,tidevice对于iOS17以上并不支持,原因是iOS 17 引入新通信协议 RemoteXPC+QUIC,改变了 XCUITest 的启动方式。
2025-02-28 17:01:50
526
1
原创 Windows上安装及使用libimobiledevice
1、在windows上运行使用libimobiledevice比较复杂,需要使用wsl2、由于wsl与windows之间不能直接访问usb设备,故需要通过usbipd进行绑定分享3、usbipd需要wsl2的环境,所以需要设置为wsl2默认使用再去安装Ubuntu。
2025-02-07 16:33:21
524
原创 解决因手机系统拦截导致ATX依赖无法完整安装的问题
在安装依赖时,依赖首先会存到电脑的cache缓存中再传输给手机,如果手机有安装拦截会导致你允许其中一个安装,另一个则无法安装成功,所以我们只要把传输给手机这一步人为操作完成即可。最近在给手机安装atx依赖进行自动化压测时,发现某些手机会因为纯净模式或者其他隐私拦截导致仅能安装一个,导致依赖不全无法安运行。根据上述cache的地址,我们找到如下的两个文件夹,把里面的两个apk人工传输给手机进行安装即可解决~如图可以看到,cache的位置会在命令行中打印出来,我们去到对应的目录即可。
2024-12-19 16:43:45
351
原创 解决安装Weditor提示GBK编码格式问题
注意:如果设置环境变量前打开了CMD或者Powershell需要重启CMD或者Powershell来输入命令进行安装,如若还是不行,可重启电脑再次尝试。设置完成后重新进行pip install weditor即可正常安装。
2024-12-19 16:23:55
358
2
原创 python-JS优学网课挂学时脚本
老师要求每挂满150分钟的课程,然后就想着写一个脚本来挂学时,使用了selenium来模拟浏览器行为来写的一个挂网课脚本。from selenium import webdriverfrom selenium.webdriver.support.ui import WebDriverWaitimport timeuname = ''paswd = ''def open_brower...
2021-01-21 17:28:35
4707
1
原创 Flask蓝图框架
为什么要使用蓝图使用蓝图可以有效的管理路由,对项目进行一个细致的划分,例如一个平台有前台展示给用户的,有后台专门给管理员使用的,使用蓝图可以达到模块化管理让项目结构更加清晰明了。同时可以避免路由复用。项目文件框架这个项目中分两个模块,一个是admin一个是home如何使用一、模块__init__.py文件以admin为例子,在__init__.py文件中导入蓝图二、返回到app目录下的__init__.py文件中注册蓝图如图配置完成后即可使用蓝图框架进行开发了如何访问注册了蓝图的路由地
2020-12-01 17:45:09
348
原创 python线程退出
前言python的多线程中是没有退出方法的,但是在实际中经常需要退出某个写死的程序,在这个时候使用ctrl+c显得有些不妥。标志位实现在百度中找到的方法有抛出异常还有改写类方法做标志位的实现,但是都觉得略微麻烦,故采取设置变量进行判断。demo代码:import threadingclass Test: def __init__(self): self.signal = 1 #定义标志位 def test1(self): while True:
2020-11-23 18:31:03
1424
原创 最强蜗牛手游脚本
最近玩了下最强蜗牛这手游,游戏内容彩蛋不错,但是每天的奖励需要一些重复枯燥无法体验剧情的任务,例如看广告,基因训练,这些内容可以通过脚本去进行自动化执行,就能尽情的享受剧情了。使用库Uiautomator2自动看广告连接手机class Auto_AD: def __init__(self): subprocess.run('python -m uiautomator2 init') time.sleep(3) self.d = u2.conn
2020-07-31 15:28:23
3202
原创 scrapy爬虫-美图录
最近写了个爬虫练练手,爬取的网站为美图录。这次爬取的是美图录里气质这一个模块,如果想爬取其他模块,可以把url地址自行修改。403服务器错误当爬取完数据,获取到图片的链接时,直接请求图片的链接会出现403的错误,提示没有权限。出现这个问题时,首先尝试了用selenium来进行测试,发现直接请求是不可以的。然后之前有了解到不少的网站有referer防盗链的设置,然后也通过网上搜寻相关的资料,在测...
2020-07-14 21:56:34
6074
原创 LoadRunner12.02的基本使用
版本LoadRunner12.02社区版网上资源有很多随便找都能找到了三大组件LoadRunner有三大组件,分别是Virtual User Generator,Controller,Analysis,安装完成后会在桌面显示,桌面不显示也可以到开始中寻找,找不到可以再去安装路径里寻找。Virtual User Generator:用于录制脚本,编写脚本。Controller:用于测试场...
2020-04-18 19:49:49
4231
原创 软件测试面试准备:基础理论
发展历程1.软件测试是证明软件是正确的2.软件测试是证明软件是错误的3.软件测试是保证软件的质量符合用户需求的一系列手段目前的阶段为第三个阶段。测试分类测试主要分为三大类,分别是黑盒测试,白盒测试,灰盒测试。黑盒测试:检查输入和输出白盒测试:检查代码结构来检查功能灰盒测试:介于上述两者之间,也可以说是同时运用测试方向主要分为三大方向,分别是是功能测试,性能测试,安全测试。功...
2020-04-11 21:37:58
340
原创 Python-自动化接口测试
使用库requests,json,pandaspandas读取excelfilepath = ''#1.读取exceldata = pd.read_excel(filepath)n_data = data.ix[[i],['url','header','param']].valuesurl = str(n_data[0][0])header = json.loads(n_data[...
2020-04-08 23:55:12
259
原创 python-多进程学习笔记
使用模块multiprocessing简单例子import multiprocessingdef test(n): name = multiprocessing.current_process().name print(name,"starting") print("is",n) returnif __name__ == '__main__': ...
2020-03-10 14:08:57
207
原创 python-经世优学挂学时脚本2.0
2.0脚本由于之前的脚本已经不能使用了,所以更新一下。此次依然使用了selenium作为框架。增加了挂学时的时长以及课程的配置。登录经世优学的网站进行了更新,其实就是多加了一步点击登录,影响不大,后续网站更新也有可能使用iframe进行登录页面的设计,使用iframe的话,使用selenium的switch_to.frame即可解决。开始挂学时登录完成后页面会进行跳转,随后进入学习空...
2020-01-01 11:28:20
2800
1
原创 Mysql首字母查询
Mysql首字母查询由于目前实习做的项目需要实现一个拼音查询的功能,在网上进行过资料查找后,整理一下可用的。由于全拼转汉字的太大的对照量,几乎无法完成,所以改用了首字母的模糊查询来完成这个功能。使用的mysql版本为5.7。函数DELIMITER $$CREATE /*[DEFINER = { user | CURRENT_USER }]*/ FUNCTION `数据...
2019-12-31 16:43:39
1846
原创 python面试题
1.打开一个网页,发生了什么?1.浏览器对url进行解析,检测是否合法,不符合的会提交给搜索引擎进行处理2.浏览器对预加载HSTS进行检查,如果在此列表,会使用https进行请求否则用http3.DNS查询,并对url解析成对应的IP地址4.建立TCP连接(三次握手,第一次客户端向服务端申请端口,第二次服务端应答并请求建立连接,第三次确认序号)5.发送UDP数据包(TLS握手),服务端与...
2019-11-28 17:26:46
132
原创 python-GlidedSky-验证码反爬虫
题目通过验证码来识别人机。分析1、点进去待爬取网站,弹出一个滑动验证码的验证,通过验证后,数据才呈现出来2、使用的是一个腾讯的验证,selenium截图对元素裁剪得不到想要的结果,保存屏幕截图后使用PS进行验证码位置的判定后使用PIL进行图片的截取即可,也可以获取到验证码图片的链接进行保存3、获取链接保存时图片的大小约为网站的2倍,需要resize一下4、获取链接时注意切换ifram...
2019-11-03 22:07:59
780
1
原创 python-GlidedSky-CSS反爬虫
题目通过更改CSS样式来使内容达到预期需要的效果。分析1、CSS混淆主要有三种,一种是单纯用一个before覆盖内容,一种是4个div来进行位置的混淆,一种是before加div混淆2、获取到div的items进行长度的判断,如果长度小于3的则正则匹配拿到content里的正确数据,长度等于4的,把透明度为0的去掉,根据元素的左右长度进行位置的判断,拿到正确的数据最后就规模进行爬取即可...
2019-11-03 21:49:59
390
原创 python-GlidedSky字体反爬虫
题目字符到图片映射都是反爬都可以当作反爬的措施,题目要求看到的数据而不是网页源码的数据。分析1、网页中混淆了多种字体,每次刷新源码的数据都有变化。2、把font-face中的base64数据进行解码并保存到本地中,把头部的charset以及base64去掉,使用base64库进行解码保存为ttf文件。3、使用FontCreator进行查看,可以看到其中对应的关系。4、进行多次刷新...
2019-10-22 23:37:05
658
2
原创 使用scrapy实现分布式爬取京东图书
MongoDB以及redis配置本次使用了两台虚拟机,一台CentOS配置redis服务以及mongodb服务,一台Ubuntu进行数据的爬取。在CentOS中mongodb命令行执行以下命令进行添加验证> use adminswitched to db admin> db.createUser({user: 'admin', pwd: 'admin233', roles: ...
2019-10-16 19:43:15
310
原创 scrapy漫画爬虫-漫客栈
目标爬取漫客栈上的免费漫画思路使用scrapy进行爬取,写个pipeline进行存储到数据库,去重以及下载保存。spider部分每个漫画的信息都存储在了div中,先获取一个div_list,然后再遍历进行需要的信息的收集。div_list = response.xpath("//div[@class='cate-comic-list clearfix']/div")for div i...
2019-09-10 22:58:41
536
原创 pyspider的运行问题
在安装好pyspider后,运行pyspider all 命令后发现运行不起来,后来百度查找相关问题,在python3.7中async作为关键字了,需要把pyspider中的async进行替换,可以替换成a_sync或者其它自己觉得顺眼就行。当然还有降版本这一方法。1 python/.../site-packages/pyspider/run.py2 python/.../site-packa...
2019-08-14 17:08:15
502
原创 python闭包与装饰器的一些使用
闭包函数内的属性,都是在函数执行期间存活内部函数对外部函数作用域里变量的引用,闭包内的闭包函数把变量私有化了,完成数据的封装#a1为外部函数def a1(a): b = 1 #a2为内部函数 def a2(): print(a+b) return a2 if __name__ == '__main__': test ...
2019-08-07 19:15:06
156
原创 Scrapy框架学习笔记(4)
携带cookie登录在scrapy中,携带cookie需要重新定义一个start_requests方法。`def start_requests(self): cookies = “ ” cookies = {i.split("=")[0]:i.split("=")[1] for i in cookies.split("; ")} yield scrapy.Request(...
2019-07-20 17:46:34
119
原创 Scrapy框架学习笔记(3)
Crawl spider创建项目指令跟普通的工程一样,生成爬虫则为scrapy genspider -t crawl 爬虫名称 域。rules定义提取url地址的规则。其中的LinkExtractor为连接提取器,提取URL地址。callback:把提取出来的URL地址的response进行处理。follow:当前url地址是否重新进过rules来提取url地址。注意点1.页面提取的...
2019-07-20 10:01:49
99
原创 Scrapy框架学习笔记(2)
scrapy.Request需要在另一个链接中进行提取数据时,把item给传递下去。一般设置下一个链接,处理函数指定和要传递的item。yield scrapy.Request( item["href"], callback=self.parse_detail, meta={"item": item...
2019-07-19 13:31:42
107
原创 Scrapy框架学习笔记(1)
创建项目scrapy startproject dir创建一个名叫dir的文件夹生成爬虫scrapy genspider a b创建一个域名范围为b的爬虫a运行爬虫scrapy crawl a运行名为a的爬虫allowed_domains设置爬虫允许爬取的范围start_urls设置起始爬取的地址parse解析网页的方法Item Pipeline如果要启用It...
2019-07-17 19:04:27
211
原创 python-GlidedSky爬虫闯关第二关
第二关跟第一关一样求数字总和,不过这次分为了1000页的数字,一开始想着继续用selenium来进行爬取,然后发现在爬取的途中,浏览器可能会没响应到,数据会丢失一部分,后来就改用requests来爬取selenium代码:from selenium import webdrivername = ''pwd = ''url = 'http://glidedsky.com/level/web...
2019-05-11 19:11:31
682
原创 python-GlidedSky爬虫闯关第一关
最近都在使用selenium就先使用着selenium来进行爬取from selenium import webdrivername = ''pwd = ''num = []x=1s = 0test = []b = webdriver.Chrome()b.get('http://glidedsky.com/level/web/crawler-basic-1')user ...
2019-05-11 16:20:14
1574
原创 python爬取猫眼top100
用Xpath和requests爬取猫眼上的top100电影,爬取豆瓣top250也可以用相同的方法import requestsfrom lxml import etreedef url_open(url): header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, l...
2019-05-06 13:20:30
266
1
原创 python使用正则以及BS4爬取图片
使用正则以及BS4爬取图片使用了requests库,正则表达式以及BS4来进行的一个爬虫,用了easygui进行一个简单的图形界面import requestsimport osimport refrom bs4 import BeautifulSoupimport easygui as gdef url_open(url):header = {‘User-Agent’:‘Mozi...
2019-04-27 09:42:19
567
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人