![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
--龙
欲做诸佛龙象,先做众生马牛
展开
-
爬虫之-bilibili视频下载-分片下载合并
分片下载原理:如100M文件,我们每次下载1M之后持续写到文件中,直到超出限度就停止写入(具体细节已在源码中进行了说明) def fileDownload(homeurl, url, title, typ): """ 视频及音频分片下载 :param homeurl: B站地址 :param url: 下载链接 :param title: 视频名称 :param typ: 类型: 0(视频) 1(音频) :return: """ headers = getHtmlHeader.原创 2020-11-27 10:49:14 · 545 阅读 · 1 评论 -
爬虫之-bilibili视频下载-下载链接获取
获取系列视频信息:(名称+请求地址)urls = []names = []bv_num = "这里是需要下载视频的BV值"def get_tilt(): http = "https://www.bilibili.com/video/%s?p=%s" try: url = "https://www.bilibili.com/video/%s" % bv_num response = requests.get(url=url, headers=getHtmlHeaders) if re原创 2020-11-27 10:33:38 · 1601 阅读 · 0 评论 -
爬虫之-bilibili视频下载-接口分析
事件起因:朋友:我最近想学一个***技术,在B站找到了教学视频。我想把视频弄下来方便学习。 我:B站不提供下载功能,估计只能安排一波了! 朋友:最后是一下把一个系列的全下下来。 我:好的,我来安排安排。需求分析:需求:一键下载B站某一系列视频思路:分析一下网站源码,找到视频下载接口 模拟接口下载视频接口分析:网页打开该视频,查看网页源码分析:(我们可以通过p控制“集”)view-source:https://www.bilibili.com/video/BV..原创 2020-11-27 10:08:37 · 1815 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-终
主要测试前面已经完成了,现在就是runCase()主体。主体数据准备:class run: def __init__(self, oldApp, callBackUrl): self.oldApp = oldApp self.callBackUrl = callBackUrl self.data = [] # 回调数据回调封装: def __callBack(self, json): time.sleep(TIME) url = self.callBackUrl原创 2020-11-18 15:16:56 · 245 阅读 · 0 评论 -
APP`S兼容自动化-广告页、引导页处理
在测试过程中发现部分APP启动过程中会出现广告业、引导页。大部分都是图片,部分是页面。无法点击跳过或开始。只能借助图片识别的能力,决定使用第三方的图片识别,返回文字及坐标的功能。如下:(每天500,完全够用)登录获取Token:def getToken(): # client_id 为官网获取的AK, client_secret 为官网获取的SK host = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_cred原创 2020-11-18 15:01:45 · 243 阅读 · 2 评论 -
APP`S兼容自动化-runCase()实现-04
本文继APP`S兼容自动化-runCase()实现-03。兼容性判断主体:原创 2020-11-18 14:47:31 · 195 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-03
本文继APP`S兼容自动化-runCase()实现-02。封装uiautomator相关方法-定义class:class uitest: def __init__(self, path, device, page): """ 通过uiautomator2进行测试 :param device: 设备地址 :param apkId: apk标识 :param runType: 文件类型:0原始文件;1加固文件原创 2020-11-18 14:26:04 · 175 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-02
本文继APP`S兼容自动化-runCase()实现-01。安装APP:def install(device, App_dir): """ 指定设备,app 进行安装 并启动 :param device: 设备 :param App_dir: apk地址 """ clear_device(device) cmd = 'adb -s ' + device + ' install -r ' + App_dir result = os.原创 2020-11-18 12:17:42 · 140 阅读 · 0 评论 -
APP`S兼容自动化-runCase()实现-01
前文中已对测试服务搭建进行了说明,接下来主要是对runCase()实现做些准备工作。获取有效设备地址:(用于支持同时进行测试)def findDevice(): """ 获取有效的设备地址 :return: 列表地址列表 """ result = os.popen('adb devices') res = str(result.read()) res = res.replace("List of devices attached", "")原创 2020-11-18 12:05:32 · 274 阅读 · 0 评论 -
APP`S兼容自动化-测试服务搭建:
事件起因:业务:最近有一批APP需要进行持续的兼容性测试,估计要疯! 我:兼容性测试要求高吗? 业务:暂时不高,安装、运行、随便点点没问题就行。 我:那搞个兼容自动化测试服务吧,刚好你们有个内部系统,对接就行。 业务:来、来、来,咱们细聊。分析需求:需求:最好一次性能够测几台手机。 异常情况需要分类:无法安装,启动失败,兼容失败。思路:基础框架:flask+uiautomator2.0+logging 搞个队列:任务下发后排队处理。只管调,反正我每次只能测一个。 主动回调:原创 2020-11-18 11:42:13 · 197 阅读 · 0 评论 -
爬虫之-APK下载
因工作学习需要大量APK样本,手动下载太痛苦,自动挖掘一招解决。第一步:需求分析 1.正经渠道的APK。 2.随机取不要太刻意的找某个类型的 3.动静不要太大,爬多了有点慌第二步:找口子 发现可以在应用市场中通过搜索找APK,返回的是json。下面是例子: https://sj.qq.com/myapp/searchAjax.htm?kw=a&pns=MzA=...原创 2020-05-25 10:55:48 · 1190 阅读 · 1 评论 -
Python-apk安全检测--反编译资源文件(Smali+class+java)代码实现-02
前面反编译Smali文件其实都不是比较简单的,一步就可以获取到我们想要的,但是下面我们需要获取到源码(java)文件我们需要分几步来完成,我这里就不做文字型的描述了代码中都有详细的说明:一 。我们要先获取class文件,这里需要用到工具enjarifydef decompileClass(self): """反编译获取Class 文件""" jar_dir...原创 2018-09-21 16:06:06 · 708 阅读 · 0 评论 -
Python +Selenium 数据驱动 excel文件读写
在测试过程中我们经常会遇到需要大量测试数据进行支持的时候,如添加批量数据,多用户登录等。为此我们需要用excel文件来准备大量数据,这里就涉及到了 excel文件读取的读取:我们直接贴代码吧!代码中有详细的说明class ExcelReader: """ 读取excel文件中的内容。返回list。 如: excel中内容为: | A | B ...原创 2018-08-09 15:54:03 · 2846 阅读 · 0 评论 -
Python+Selenium 测试报告优化
本次优化是基于网络共享模板(python 3.x): 1.界面排版优化 2.增加圆饼图统计 整体效果如图:使用方式:report_path = os.path.join(os.getcwd(), r"testOutput\html\report.html") fp = open(r...原创 2018-08-08 14:44:46 · 2252 阅读 · 2 评论 -
Python +Selenium日志系统搭建
在自动化测试过程中如何对错误如何定位,主要的手段就是进行日志定位,主要形式有两种:1.控制台;2.日志文件。调用:import Loggerlogger = Logger(path).getlog()logger.info("前进浏览器")话不多说直接上源码:# _*_ coding: utf-8 _*_import loggingimport os.pathimp...原创 2018-08-08 15:03:16 · 1198 阅读 · 0 评论 -
Python +Selenium 底层API封装(日志+截图管理)
框架思路参考Selenium2测试框架构思系列文章使用:import seleniumKingking = seleniumKing.WebTools(path)king.Open(URL)直接附上源码: import osimport sysimport timefrom PIL import Image, ImageFilterfrom pytesserac...原创 2018-08-08 15:08:04 · 1131 阅读 · 0 评论 -
Python +Selenium 测试框架unittest+邮件+测试报告
集中为测试用例管理,我们这里用到了unittest+email和前文提到的修改过后的HTMLTestRunner集中管理测试用例,我们这里用到了unittest+email 和前文提到的修改过后的HTMLTestRunner使用过程中直接:Run 就可以执行指定目录中的全部测试用例,自动生成测试报告:testOutput\html\gf.html邮件发送到指定的邮箱中impo...原创 2018-08-08 15:18:46 · 1264 阅读 · 0 评论 -
Python 自定义随机字符串
本篇文章主要是:前段时间在工作需要创建多个随机密码:这个密码需要包含字母/数字/字符,当时就直接在使用的地方写了一个简单的随机方法,但是下去之后和同事进行了一下沟通,其实他们在平时的工作中也会用到一些随机字符串,最后就想着整理一个单独的类,可以进行各种类型字符串的随机生成。 简单描述一下这个类的基本满足需求:可以自定义随机一组字符串,自定义包含:1...原创 2018-08-27 14:36:39 · 1613 阅读 · 0 评论 -
Python-apk安全检测--反编译资源文件(Smali+class+java)-工具下载环境配置
说到反编译,其实也不是太熟(毕竟这个是些个逆向大神做的事情)。但是在测试环节种我们需要获取到一些基本的反编译文件做一些验证及测试的工作。为了能够更好的完成工作就只能自己动手啦! 首先我需要确认一下我们需要得到的目标文件:Smali(常规反编译文件),Class(Java的编译文件),Java(源代码)。这里面我们最容易拿到的就是Smali文件了(当然是没有加固...原创 2018-09-21 14:24:48 · 844 阅读 · 0 评论 -
Python-apk安全检测--反编译资源文件(Smali+class+java)代码实现-01
前面我们已经将环境都安装好了,现在我们就开始搭建一个项目来做反编译啦!首先我们说一下我这边项目的一个目录结构:config(配置文件目录),res(反编译目录资源),util(工具目录),test(测试代码目录)1.config目录:主要房租一些配置文件全局的获取部分需要的设置2.res目录:apk文件目录(apk_dir);class文件目录(class_dir);java...原创 2018-09-21 15:11:20 · 845 阅读 · 0 评论 -
Python +Selenium 支持多项目集中配置文件管理Yaml
在自动化测试项目管理经常会遇到2个问题: 1.我手头上有多个需要做自动化的项目,我每个项目都要新建一个项目文件吗? 2.一些基础的配置信息如何高效的进行管理? 争对这2个问题,这边采用了Yaml 进行配置文件的一个管理:YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。 ...原创 2018-08-09 15:38:05 · 1337 阅读 · 0 评论