
python
Empty-Filled
Your World is Right When You Are Right
展开
-
macOS 安装Python3+robotframework
macOS安装robotframework为什么要用robotframework?安装步骤安装Python3安装robotframework安装pypubsub安装wxPython安装pygments安装robotframeworklexer安装ride验证安装截图问题和解决版本备忘为什么要用robotframework?作为一个自动化测试工具的翘楚,即使不深入研究,至少也值得熟练应用。安装步骤安装Python3官网下载,如:python-3.9.10-macos11.pkg运行安装向导,完成原创 2022-03-06 18:52:23 · 1199 阅读 · 4 评论 -
python 使用openpyxl模块写Excel文件
import openpyxlimport timefrom openpyxl.styles import Font, PatternFillclass excelWriter(object): def __init__(self, file_path, title_row) -> None: self.file_path = file_path self.title_row = title_row self.workbook = op原创 2022-02-27 14:03:56 · 245 阅读 · 0 评论 -
python获取当前时间并格式化显示
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())原创 2022-02-26 22:15:59 · 685 阅读 · 0 评论 -
Python自动化测试二次封装钉钉机器人发送测试报告
二次封装钉钉机器人为什么要二次封装?封装思路代码代码执行报告样式为什么要二次封装?丰富输出内容,增加测试报告的可读性封装思路报告模版变量化关键指标参数化代码# xiaobai2.pyfrom dingtalkchatbot.chatbot import DingtalkChatbotimport datetimeclass Xiaobai(): def __init__(self, failed) -> None: self.failed = fai原创 2022-01-15 13:22:13 · 856 阅读 · 2 评论 -
Python比较两个JSON文件内容是否相同
Python操作JSON文件题目分析比较方法1比较方法2测试文件题目分析操作JSON需要用到JSON包把JSON文件转化为字典后进行比较对比:普通比较“==”,现有的模块deepdiff比较方法1import json"""This snippet is used to compare two json files, and find out the differences."""# read json file, return dict filedef file_reader(原创 2021-11-08 16:16:48 · 4645 阅读 · 1 评论 -
Python列表之元素查找
目录背景代码优化背景给定一个元素和经过排序的列表,在列表中查找元素。如发现元素则返回元素下标,如未发现元素,则按顺序插入元素后返回下标。代码lst = [1,3,5,7,9]num = int(input('输入一个整数:'))length = len(lst)if num < lst[0]: lst.insert(0, num) print('该元素不在给定列表,插入列表后索引为:', lst.index(num))elif num > lst[len原创 2021-11-03 19:24:42 · 6669 阅读 · 0 评论 -
【译文】快速排序
快速排序快速排序快速排序递归函数伪代码分区算法分区伪代码分区函数说明代码实现:输出结果快速排序分析快速排序难易程度 : 中等类似归并排序,快速排序是一种分治算法。快速排序挑选一个元素作为基数,然后围绕选定的基数分割给定的数组。快速排序有很多版本,这些版本以不同的方式挑选基数。总是挑选第一个元素作为基数总是挑选最后一个元素作为基数(下面有实现的案例)挑选任意元素作为基数挑选中位数作为基数快速排序的关键步骤是分区。分区的目标是给定数组和基数x,把x放到有序数组中正确的位置,然后把所有比x小的翻译 2021-09-22 14:54:52 · 134 阅读 · 0 评论 -
冒泡排序算法注解
冒泡排序算法什么是冒泡排序算法步骤代码实现代码释义演示什么是冒泡排序冒泡排序是一种简单的排序算法。算法步骤比较相邻两个元素,左边的比右边的大则交换顺序重复上述步骤,即可得到升序排列的数组代码实现def bubbleSort(arr): for i in range(1, len(arr)): for j in range(0, len(arr) - i): if arr[j] > arr[j+1]: ar原创 2021-09-03 19:03:55 · 144 阅读 · 0 评论 -
WSL使用笔记
目录为什么用WSL?安装说明问题与解决参考文档为什么用WSL?工作电脑是Windows,测试脚本运行在Linux机器,代码迁移需要一些修改,比如文件路径。为了保持更好的一致性,安装WSL,同时VS Code安装wsl插件,便可轻松使用Linux环境。安装说明参考官方文档:适用于 Linux 的 Windows 子系统安装指南 (Windows 10)本机使用Ubuntu-20.04问题与解决问题: E: Package ‘python3-venv’ has no installation c原创 2021-06-25 19:56:09 · 791 阅读 · 0 评论 -
Python自动化调用钉钉机器人群发报警
from dingtalkchatbot.chatbot import DingtalkChatbotwehook = 'https://oapi.dingtalk.com/robot/send?access_token=68f2b4f6ec7ae1e4360300dc18c8b15d58fe3248bed9c4394e013ff0b9e40ed3'ddrobot = DingtalkChatbot(wehook)# ddrobot.send_text(msg='钉钉机器人瑞测试', is_at原创 2021-04-20 18:40:07 · 1302 阅读 · 1 评论 -
自动化测试完成清理自己启动的进程
背景同一台测试服务器上同时运行多个自动化脚本,导致多个webdriver(比如 Firefox,Chrome)同时运行。脚本运行完成后,虽然执行了关闭webdriver代码,仍然有存活的webdriver进程,经过长期积累,会严重拖慢测试服务器内存,甚至导致服务器挂机,测试脚本无法运行。因此考虑在每个脚本中加入垃圾清理功能,即代码执行结束后,检查该脚本启动的进程是否关闭,如果没有关闭,则使用Linux命令强制关闭。为什么不使用定时任务杀死进程?因为其它脚本可能正在使用相同名称的进程,全部杀死会影响他人。原创 2021-02-26 14:19:13 · 310 阅读 · 0 评论 -
Python+Flask框架后端博客代码测试
为什么要测试?未通过测试的代码一定不是好代码代码下载$ git clone https://github.com/vitoi/flaskr2项目安装$ pip install -e .验证安装是否成功:$ pip listPackage Version Location------------------ ------- ------------attrs 20.3.0click 7.1.2coverag原创 2021-02-08 16:30:08 · 197 阅读 · 0 评论 -
Python+Flask框架后端搭建个人博客
前言学习Python也有段时间了,一直在写自动化测试和小工具,准备通过搭建个人网站再全面深入整理下相关知识。选择Flask是基于两个特点:一、轻便,二、扩展性强。准备工作环境系统:Mac big sur开发工具:Visual Studio CodePython: 3.9.1安装Flask$ mkdir myproject$ cd myproject$ python3 -m venv venv$ . venv/bin/activate$ pip install Flask参考:原创 2021-02-07 18:15:32 · 1028 阅读 · 1 评论 -
Python3使用requests实现图片上传
Talk is cheap, show code.import requestsurl = 'http://www.xxx.com/upload_img' # 替换链接header = { 'Cookie': 'Token=Rfn7m8fdFxO2MBiT_anOpjTjIdL' # 账号信息}files = {'file': open('foo.png', 'rb')} # 图片文件foo.png需和脚本在同一个目录payload = { 'key1': 'value1'原创 2020-09-01 20:54:44 · 2312 阅读 · 0 评论 -
CentOS 7 + Python3 + Selenium + ChromeDriver 实现模拟手机UI截图
内容说明本文主要基于ChromeDriver实现UI自动化截图功能,完整项目结构请参考https://blog.youkuaiyun.com/lylfv/article/details/106874925测试环境CentOS 7Python 3Chrome & ChromeDriver代码详情from selenium.webdriver.chrome.options import Optionsfrom selenium import webdriver def c原创 2020-06-22 15:16:24 · 733 阅读 · 0 评论 -
Python3 + Selenium + geckodriver保存cookies
环境准备Python3Python 3.5.4 (v3.5.4:3f56838, Aug 8 2017, 02:17:05) [MSC v.1900 64 bit (AMD64)] on win32Seleniumpython3 -m pip install seleniumFirefoxhttp://ftp.mozilla.org/pub/firefox/releases/78.0b2/geckodriverhttps://github.com/mozilla/geckodriver/原创 2020-06-19 13:30:22 · 376 阅读 · 1 评论 -
Python+Selenium实现web自动化跳过登录
Web自动化跳过登录背景思路方法代码总结背景自动化模拟登录,遇到图形验证码或者动态验证码时,代码操作复杂。该怎么跳过登录?思路研究文档发现,selenium有add_cookie()方法方法driver.add_cookie({'name': k, 'value': v})其中k,v对应一条cookie的键值代码from selenium import webdriverfr...原创 2019-12-20 10:19:16 · 2350 阅读 · 4 评论 -
Python教程之开胃菜
Python教程之开胃菜如果你使用电脑做很多工作,最终你会发现有些工作愿意自动化。举个栗子,你可能需要对大量的文本文件执行“搜索-替换”操作,或者重命名/重新排序一堆照片文件,用一种繁琐的方式。或许你会想写一个定制数据库,或者一个专用图形界面程序,或者一个简单的游戏。如果你是一个专业的软件开发者,你可能不得不用到几个C/C++/Java库,却发现写/编译/测试/重编译周期通常很慢。或许你正在写...翻译 2019-12-01 14:22:43 · 342 阅读 · 0 评论 -
数据库导出数据用Python解析为列表
背景数据库导出数据为元组且包含多余符号,不方便后续使用;因此考虑转化为更方便使用的列表操作步骤通过XShell远程连接数据库保存待处理数据:select [column_name] from [table_name] into outfile 'data.txt'打开数据文件保存位置,复制文件到本地sz data.txt操作数据文件import rewith ...原创 2019-11-26 22:04:34 · 343 阅读 · 0 评论 -
Beautifulsoup爬虫练习
目标爬取一定数量的大学排名,并按照要求格式输出代码import requestsfrom bs4 import BeautifulSoupimport bs4def getHTMLText(url): try: r = requests.get(url, timeout=30) r.raise_for_status() r.e...原创 2019-11-17 23:32:19 · 321 阅读 · 0 评论 -
Appium框架+JavaScript脚本的自动化测试demo
Appium自动化环境配置可参考:基于Appium框架的Android自动化测试环境配置自动化测试运行步骤测试示例演示了以下过程:打开APP输入Hello World!关闭APP下载测试apk ( 下载链接)设置Appium客户端(本例使用Wedbriver.io客户端)a. 创建项目目录,比如exampleb. 初始化 npm init -yc. 安装 webd...原创 2019-11-07 12:05:52 · 1875 阅读 · 0 评论 -
基于Appium框架的Android自动化测试环境配置
APP自动化环境搭建安装Node.js和appium-desktop安装JDK1.8版本安装安卓开发工具环境变量配置与验证安装Python开发环境安装Appium-Python-Client 组件连接真机或者模拟器详细步骤Node.js和appium-desktop安装a. Node.js下载地址:https://nodejs.org/en/b. appium-des...原创 2019-11-07 11:30:13 · 379 阅读 · 0 评论 -
Python3 unicode转中文
转码方法string.encode('utf-8').decode()转码前显示string = ‘\u64cd\u4f5c\u9891\u7e41\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5’转码后显示string = ‘操作频繁,请稍后再试’...原创 2019-11-05 11:27:10 · 2056 阅读 · 0 评论 -
VS Code控制台中午显示乱码解决办法
乱码问题解决办法TERMINAL输入chcp 65001重新运行代码解决后展示原创 2019-11-05 11:16:12 · 863 阅读 · 0 评论 -
Win10 64位PC安装scrapy
安装wheel打开cmd窗口,输入命令: pip install wheel安装Twisted1) 下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted**Note:**下载与Python版本对应的安装包,比如:<Twisted-19.2.1-cp35-cp35m-win_amd64.whl>2)...原创 2019-07-10 10:45:08 · 208 阅读 · 0 评论 -
初识scrapy
翻译自官网,链接:https://docs.scrapy.org/en/latest/intro/overview.html初识scrapyscrapy是一个用于爬取网站并且提取结构化数据的应用框架,数据可以用于各种各样用途 ,比如数据挖掘,信息处理,或者历史存档。虽然scrapy原来被设计用于爬取网页,它也可以被用于通过APIs(比如亚马逊联合网络服务)提取数据或者通用的网络爬虫。通过一...翻译 2019-07-10 14:18:58 · 131 阅读 · 0 评论 -
Python生成中文词云
Python生成中文词云PC环境配置项目创建及相关模块安装词云代码示例特别说明词云图片展示PC环境配置Win10,64位Python 3.5.4Pycharm Community 2019.1项目创建及相关模块安装创建项目文件夹 mywordcloud命令行输入:cd mywordcloudpython -m venv virenvpip install numpypip...原创 2019-07-30 15:14:13 · 1097 阅读 · 1 评论 -
Python参数化框架parameterized+单元测试框架unittest & HTMLReport & nose
Python参数化和单元测试框架使用背景思路代码运行方法一方法二参考背景为了更好地管理自动化测试用例,同时对用例输入进行参数化,并且生成好看的测试报告,对题目中的几个框架进行了组合使用。思路parameterized 参数化让单元测试更好管理用例输入变量unittest便于管理测试用例HTMLReport生成便于查看的HTML测试报告nose让用例更好些,更好执行代码# te...原创 2019-07-31 15:35:51 · 943 阅读 · 0 评论 -
Python使用format函数和字典参数格式化字符串
对比不同的格式化方法&gt;&gt;&gt; s'my name is {name}, aged {age}'&gt;&gt;&gt; dic{'age': 30, 'name': 'vito'}&gt;&gt;&gt; sf1 = s.format(**dic)&gt;&gt;&g原创 2018-09-01 14:32:45 · 7692 阅读 · 0 评论 -
Sublime Text 3环境使用SublimeREPL插件运行Python文件
Sublime Text 3是一款轻便的IDE软件,适合Python开发的利器,虽不及Pycharm专业对口,但是轻巧易用,功能齐全。但是使用默认的build system执行需要输入的脚本(代码包含input()方法)时,默认的build方法并不好用,这个时候需要用到SublimeREPL插件。下面介绍SublimeREPL插件的安装和配置。可使用Package Control安装Subl...原创 2018-08-06 14:04:21 · 6526 阅读 · 2 评论 -
Python发送电子邮件
通过Python脚本给QQ邮箱和163邮箱发送emailPython 2.7环境邮箱地址和口令需要修改为自己的账号# -*- coding: UTF-8 -*-import timeimport smtplibfrom email.mime.text import MIMETextfrom email.header import Header# 三方 SMTP 服务mai...原创 2019-04-20 18:58:07 · 322 阅读 · 0 评论 -
Python使用unittest测试框架进行自动化测试
目录背景接口特点测试脚本设计脚本样例脚本运行测试报告参考背景APP端随着版本升级,对应的服务端接口也会增加或修改,为了验证新版本是否影响老版本的接口逻辑和功能,可使用自动化测试进行老版本接口回归。接口特点经分析项目接口包含公共参数和可选参数两部分:公共参数 ,所有的接口都会传递的参数;可选参数 ,不同接口会有自己独有的参数;测试脚本设计项目类 – MyProject() ,...原创 2018-11-18 22:36:47 · 1394 阅读 · 0 评论 -
你应该选择使用Python 2还是Python 3来进行开发?(五)
在一个共同代码基础上同时支持Python 2和Python 3Python 2.6+ 和 Python 3.3+的共有子集相当大–Python3.3中恢复Unicode字符的u前缀支持意味着从语义上正确的Python 2.6+代码实现源码支持Python 3.3+而同时保有 大量的Python习惯用法。主要区别是有些东西需要从不同的地方导入,这样是为了处理他们在Python 2和Python...翻译 2018-08-16 22:58:07 · 428 阅读 · 0 评论 -
你应该选择使用Python 2还是Python 3来进行开发?(四)
我想使用Python 3, 但是有个想用的小型库只支持Python 2. 真的要返回到Python 2,或者放弃使用这个库?假如找不到一个支持Python 3的替代包,你还有一些选项可以考虑:把库移植到3.x(移植意味着让这个库在3.x上能工作)如果移植非常艰难,而且所有其它依赖项都存在于2.x,考虑从2.x开始吧。正如在其它地方已经解释,良好的2.x代码会典型地让转换无痛,只要每一个...翻译 2018-08-16 17:27:04 · 315 阅读 · 0 评论 -
你应该选择使用Python 2还是Python 3来进行开发?(三)
如果不想避开Python 2.x怎么办? 这是个有着很多错误的旧式语言, 需要制作一个大版本来去除这些错误好吧,不是全部都这样。3.0和3.1中一些破坏较少的改进已经分别向后移植到2.6和2.7。关于更多向后移植的特性详情,请查看Python2.6中新增项和Python2.7中新增项。一份不详尽的特性列表如下,它们只在3.x的发现版本中可用并且不会向后移植到2.x系列版本。字符串默认...翻译 2018-08-16 15:59:16 · 307 阅读 · 0 评论 -
Python爬虫爬取豆瓣精选电影前100位,并下载电影封面
本文重点总结 1、分析并确定待爬取url及关键参数(更多详情可参考上篇注释) 2、正则表达式的使用 3、图片下载上代码import requestsimport reimport io, sys, osimport urllib.request# 注意修改参数page_limit限定爬取个数,本文设置为100url = 'https://movie.douban.com/...原创 2018-08-11 23:29:40 · 2173 阅读 · 0 评论 -
Python利用requests和re模块爬取百度图片
本文重点:通过分析网页源码,确定爬取地址运用header中的referer参数防止反扒直接上代码:import requestsimport re# URL获取方法:# 由于百度图片为动态加载,故采用下面方法获得要抓取的url# 1、图片搜索结果页面点击F12或者右键查看元素# 2、点击网络tab-&amp;gt;XHR子tab# 3、点击F5键或者浏览器刷新页面按钮...原创 2018-08-10 21:33:56 · 2272 阅读 · 0 评论 -
Win7环境下同时安装Python2和Python3
本文简单介绍Windows系统同时安装Python2.x和Python3.x环境:安装Python2.x配置Python2.x环境变量安装Python3.x配置Python3.x环境变量*cmd窗口分别打开Python2.x/Python3.x安装Python2.x从Python官网下载安装文件下载链接。注:可根据操作系统位数选择对应的安装包进行下载 注意:...原创 2018-08-06 13:02:35 · 582 阅读 · 0 评论 -
你应该选择使用Python 2还是Python 3来进行开发?(二)
你应该使用哪个版本?应该选择哪个版本主要取决于你要用它来做什么事情。如果你恰好能用Python3.x来完成你的需求,那太好了!有一些微小的负面因素,比如轻微变差的库支持和这样的事实–当前一些Linux发行版本和Mac系统仍然把Pyhon2.x作为默认版本,然而作为一个语言Python3.x已经完全成熟并且方便使用。 只要你的电脑安装了Python3.x(这应该很简单,因为阅读这篇文章的人...翻译 2018-08-09 21:58:14 · 1151 阅读 · 0 评论 -
BeautifulSoup爬取页面URL三步走
爬虫利器BeautifulSoup爬取一个页面的所有URL,可以简单分为三个步骤:使用requests获取页面内容使用BeautifulSoup进行页面内容解析提取并整理所需要的URL代码实例# 导入BeautifulSoup和requests模块from bs4 import BeautifulSoupimport requests# 获取字符串格式的html_d...原创 2018-08-09 20:32:37 · 9624 阅读 · 1 评论