![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
python自动化
文章平均质量分 74
web、app、接口及ui自动化;unitest、pytest、httprunner、Robotframework测试框架
JSon liu
分享一些个人的工作经历和成长历程。
展开
-
app端专项测试
01 专项测试概述1.专项测试(用户维度)崩溃(Crash,弱网)卡顿(掉帧、GC、CPU)响应慢(启动时间、交互时间、H5加载)发热(cpu、内存、网络、io、gps等硬件使用)掉电快(硬件占用)兼容性问题(平台、手机品牌/型号、回归)2.专项测试(技术维度)崩溃自动遍历、monkey测试、横竖屏切换、快速进退卡顿(掉帧、gc、cpu)卡顿测试、内存泄漏测试、 method profile响应慢(启动时间、交互响应、H5加载)冷热启动、界面切换、h5性能测试原创 2022-10-05 12:41:16 · 2293 阅读 · 0 评论 -
airtest自动化测试
airtest自动化测试框架原创 2022-06-05 19:05:43 · 1299 阅读 · 1 评论 -
unittest和pytest测试框架基础
01 单元测试1. 什么是单元测试?单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。2. 单元测试什么时候执行?开发阶段,单元测试介入越早后续集成测试遇到的问题越少3. 单元测试由谁负责?由程序员负责4. python的主要单元测试框架?Unittest:python内置的标准类库;Pytest:丰富、灵活的测试框架,语法简单,可以结合allure生成一个炫酷的原创 2022-04-17 16:32:36 · 1587 阅读 · 0 评论 -
app自动化之allure报告生成
1. allure-pytest官网下载allure官网链接:https://github.com/allure-framework/allure2/releases/tag/2.17.2文档: https:/ /docs.qameta.io/allure/#2. allure配置解压->进入bin目录->运行allure.bat,把bin目录加入PATH环境变量检查allure安装是否成功打开cmd命令窗口输入allure 或allure --version原创 2022-01-22 00:42:56 · 1416 阅读 · 0 评论 -
app自动化之控件和元素操作
app自动化之控件和元素操作03 app自动化之控件和元素操作3.1 启动参数Capabilities(Android)3.2 三种等待方式3.2.1强制等待:3.2.2 全局隐式等待(在服务端等待)3.2.3显式等待(在客户端等待)1. 使用说明2. WebDriverWait用法3. WebDriverWait的`until()`和`until_not()`方法:3.3 android、ios基础知识3.3.1 android3.3.2 ios3.4 app元素定位方式1. id定位2. accessi原创 2022-01-12 23:00:11 · 2637 阅读 · 0 评论 -
app自动化之前置处理—欢迎页面划屏
app自动化之前置处理—欢迎页划屏(以进入平安证券app以例)import timefrom logger import loggerfrom appium import webdriverfrom appium.webdriver.webdriver import WebDriverclass App: def __init__(self, driver: WebDriver = None): self._driver = driver def star原创 2022-01-11 01:20:44 · 2068 阅读 · 0 评论 -
app自动化之启动参数获取、元素定位工具和元素定位方式
app自动化之启动参数获取、元素定位工具和元素定位方式1. 启动参数获取1.1 下载qq1.2 获取启动参数1.3 整理启动参数2元素定位工具和定位方式2.1 第一种: android SDK自带工具:uiAutormatorViewer2.2 第二种:python版uiAutomator2中的weditor2.3 第三种:appium自身定位工具appium inspector2.4 app自动化常用的元素定位方式3. 实际案例(以qq登录为例)1. 启动参数获取1.1 下载qq官网:https:/原创 2022-01-09 20:17:08 · 4122 阅读 · 3 评论 -
windows下Python版app自动化测试环境配置更新版
关于本篇安装所需软件工具本人已全部打包上传百度网盘,如有需要可直接下载链接:https://pan.baidu.com/s/1oq8mB7J-V4wNqiMsijpZuQ**提取码:1234windows下Python版app自动化测试环境配置更新版1. 安装jdk1.1 安装jdk1.2安装jre1.3配置环境变量1.4 校验是否全部配置成功2. 安装node.js(appium server安装方式为desktop方式不需安装nodejs)2.1 选择安装路径2.2 打开 cmd 窗口,输入 no原创 2022-01-08 23:54:00 · 1805 阅读 · 1 评论 -
python数据读写操作之csv转excel
python数据读取之csv转excel从数据库读取处理后的数据格式写入csv文件的数据格式从csv转为xls的数据格式import osimport timefrom config.settings import Settingsfrom middleware.db_handler import DBHandlerfrom decimal import Decimalimport csvimport pandas as pdclass FileOperate(): d原创 2021-12-31 00:44:42 · 4750 阅读 · 0 评论 -
python自动化之动态参数获取(动态传参)
动态传参方式1:python反射setattr(对象,属性名,值):设置属性值 对象.属性名 = 值,对象为类对象或函数对象def setattr(x, y, v): # real signature unknown; restored from __doc__ """ Sets the named attribute on the given object to the specified value. setattr(x, 'y', v) is equivalent原创 2021-04-09 00:36:00 · 1693 阅读 · 0 评论 -
jsonpath模块基本应用
模块安装:pip install jsonpath引入from jsonpath import jsonpath基础语法$ 根节点. 子节点.. 子孙节点原函数方法:jsonpath(obj, expr, result_type='VALUE', debug=0, use_eval=True)使用方式1:jsonpath(数据对象,'$.父节点名称')方式2:jsonpath(数据对象,'$..子孙节点名称')demo实例// pip install jsonpathfr.原创 2021-03-24 23:06:03 · 251 阅读 · 0 评论 -
接口自动化测试之正则(re)模块封装——python版
# -- encoding: utf-8 --# @time: 2020/12/13 0:21# @Author: JsonLiu# @Email: xxxxx@qq.com# @file: regxhandler.pyimport reclass RegxHandler: def universal_regx_handler(self, custom_pattern, str): data = re.search(custom_pattern, str)原创 2020-12-16 00:13:04 · 392 阅读 · 1 评论 -
接口自动化测试之mysql增删改查模块封装
mysqlhandler.py封装模块# -- encoding: utf-8 --# @time: 2020/12/5 14:32# @Author: jsonLiu# @Email: xxxxxx@qq.com# @file: myslqhandler.pyimport pymysql# 初始化连接from pymysql.cursors import DictCursorclass MysqlHandler: def __init__(self,host,port,原创 2020-12-06 18:00:10 · 336 阅读 · 1 评论 -
ddt源码改写----测试名称
ddt模块源码改写----测试名称 def wrapper(cls): for name, func in list(cls.__dict__.items()): if hasattr(func, DATA_ATTR): for i, v in enumerate(getattr(func, DATA_ATTR)): test_name = mk_test_name(原创 2020-11-29 15:01:37 · 212 阅读 · 0 评论 -
HTMLTestRunnerNew模块源码及调用自定义报告封装
模块名: HTMLTestRunnerNew.py#coding=utf-8"""A连接信息 TestRunner for use with the Python unit testing framework. Itgenerates a HTML report to show the result at a glance.The simplest way to use this is to invoke its main method. E列表.g. import unittest原创 2020-11-28 01:24:12 · 953 阅读 · 2 评论 -
python自动化之yaml文件的读写操作
yaml文件封装# —— encoding :utf-8 ——# @time: 2020/11/10 20:37# @IDE: apiTest_frameworkv1.0# @Author: xxxx# @Email: xxxxxx@qq.com# @File: dl_yaml.pyimport datetimeimport osfrom sys import pathimport yaml# pip install pyyamlclass DLYaml:原创 2020-11-10 23:32:33 · 445 阅读 · 0 评论 -
接口自动化测试实战之增删改查测试
api接口文档:https://work.weixin.qq.com/api/doc/90000/90135/90664# —— coding :utf-8 ——# @time: 2020/11/8 15:34# @IDE: apiTest# @Author: Jsonliu# @Email: xxxxxxx@qq.com# @File: test_address_book.pyimport jsonimport loggingimport requestsc原创 2020-11-08 18:48:50 · 2337 阅读 · 1 评论 -
软件测试面试题整理(六)之app测试篇
1. Web 端测试和 App 端测试有何不同(常见)系统结构方面Web 项目,b/s架构,基于浏览器的;Web 测试只要更新了服务器端,客户端就会同步会更新;App 项目,c/s结构的,必须要有客户端;App 修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍;兼容方面Web项目:a. 浏览器(火狐、谷歌、IE等)b. 操作系统(Windows7、Windows10、Linux等)App项目:a. 设备系统: iOS(ipad、iphone)、Android(三星、华为、联想等) 、原创 2020-11-06 00:14:16 · 19734 阅读 · 7 评论 -
python自动化之_自定义日志模块封装
代码# -*- coding: utf-8 -*-# @Time : 2020/11/15 20:03# @Author : jsonLiu# @Email : xxxxx# @File : logger.pyimport loggingclass Logger: def logger(self, level, msg): # 1.定义一个日志收集器 logger = logging.getLogger() #原创 2020-11-05 20:16:42 · 489 阅读 · 0 评论 -
用python实现requests请求封装
import requestsimport jsonimport loggingfrom apitest.resquestsTests import datas_testsclass HttpRequest: def http_request(self, method, url, param, header): global res if method.upper() == "POST": if header == "Conte..原创 2020-11-05 18:08:13 · 591 阅读 · 0 评论 -
如何判断java完全配置成功
校验java是否安装成功:在命令窗口输入 java -version校验java.exe命令校验javac.exe命令原创 2020-11-03 00:21:58 · 872 阅读 · 0 评论 -
移动端自动化测试基础
01 app操作api1. 1ADB命令:adb --help 查看帮助文档adb start-server 启动服务adb kill-server 关闭服务adb devices 获取设备号adb shell getprop ro.build.version.release 获取版本号adb push 电脑端文件路径/需要发送的文件路径 手机存储的路径 向手机端发送文件adb pull 手机端路径/拉取文件名 电脑端存储文件的路径adb logcat 查看日志获取app启动名mac原创 2020-10-30 22:03:24 · 688 阅读 · 0 评论 -
windows下Python版app自动化测试环境配置(全网最全最详细引导流程)
文章目录1. 安装jdk1.1 安装jdk1.2安装jre1.3配置环境变量1.4 校验是否全部配置成功2. 安装node.js2.1 node.js环境变量配置2.2 校验node.js是否安装成功3. 安装android sdk3.1解压 platform-tools_r24.4.1-windows.zip到本地目录3.2双击SDKManager.exe3.3 安装Tools当中的Android SDK Tools、Android SDK Platform-tools、Android SDK Build原创 2020-10-18 21:21:36 · 807 阅读 · 0 评论 -
unittest+ddt+excel执行测试用例
1. ddt+unittest :进行数据处理,第三方库2. 实质:装饰器,装饰测试类,在函数运行之前执行import unittestfrom ddt import ddt,data,unpacktest_data = [[1,2],[3,4,5]]@ddt # 脱掉最外层@unpack # 根据‘,’进行拆分 ,如果unpack后的参数少于5个,推荐用unpack,class TestMath(unittest.TestCase): @data(*test_data) #原创 2020-10-14 13:00:00 · 787 阅读 · 1 评论 -
第二条用例需要用到第一条用例返回结果里的某些值,写单元测试时,如何处理这种依赖?
第二条用例需要用到第一条用例返回结果里的某些值,写单元测试时,如何处理这种依赖?写到setUp()里全局变量反射的方式原创 2020-10-14 11:00:23 · 336 阅读 · 0 评论 -
python自动化之run.py报告函数最新封装
# pip install html-testRunnerimport HtmlTestRunnerfrom Common.file_path import *import unittest# 实例化套件对象s = unittest.TestSuite()# 1.实例化TestLoader对象# 2. 使用discover找到一个目录下所有测试用例# 使用sloader = unittest.TestLoader()s.addTests(loader.discover(TestCase原创 2020-10-09 23:10:47 · 447 阅读 · 0 评论 -
windows下python版web自动化测试框架(完整搭建流程引导)
文章目录一、项目环境准备工作二、 创建项目(以pycharm为例)三、框架的封装1. 创建框架目录2. 公共层3. 输出层4. 页面元素定位层5. 页面对象层(操作方法)6. 测试用例层7. 测试数据层8. readme.md 帮助文件9. requirements.txt 项目依赖工具包10.run.py 项目运行文件四、与Jenkins集成一、项目环境准备工作1.配置虚拟环境, 请参考之前一篇文章:https://blog.csdn.net/weixin_45912307/article/deta原创 2020-10-07 23:33:37 · 1165 阅读 · 0 评论 -
接口测试方法2之编写自动化测试框架实现
接口测试方法–全网最全详解1. 测试工具:jmeter、postman2. 使用代码创建接口测试框架excel 存放用例测试数据unittest + ddt 数据驱动,测试数据与测试代码分离自定义日志模块配置文件pymysql 与金额相关数据库查询参数化、正则匹配接口依赖,动态创建类属性的方式处理生成报告:http-report、allureJenkins持续集成...原创 2020-10-04 21:41:51 · 410 阅读 · 4 评论 -
接口测试方法1之httprunner框架
接口测试方法1之httprunner框架httprunner是面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试、性能测试、线上监控、持续集成等多种测试需求。1. 1 项目环境准备1. 安装 pip install httprunner2. 检查是否安装成功 hrun -V3. 帮助使用命令 httprunner --help4. 创建工程先切换至想把工程放在哪个目录下cd projectpath创建工程hrun sta原创 2020-10-04 04:22:28 · 1014 阅读 · 0 评论 -
浏览器user_agent列表
浏览器user_agent列表# —— coding :utf-8 ——# @time: 2020/10/3 0:49# @IDE: httprunnerLearn# @Author: jsonJie# @Email: 810030907@qq.com# @File: user-agents.pyuser_agents = [ # safari5.1–MAC 'User-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX原创 2020-10-03 01:09:10 · 809 阅读 · 0 评论 -
app自动化测试框架之conftest.py函数封装
app自动化测试框架之conftest.py函数封装# —— coding :utf-8 ——# @time: 2020/10/1 12:08# @IDE: py_AppTest# @Author: xxxx# @Email: xxxx@qq.com# @File: conftest.pyfrom Common.dir_config import *import yamlfrom appium import webdriverimport pytestfrom原创 2020-10-01 22:02:17 · 667 阅读 · 1 评论 -
总结python路径相关之——用\还是/问题
总结python路径相关之——用\还是/问题\和/可以混合用,建议统一一种格式1. 跨级新建目录(确保dir_name1存在才能新建)相对路径 os.mkdir("dir_name1/dir_name2)绝对路径 os.mkdir("C:\\需要新建的目录名称")例子:os.mkdir("C:\\python_test")2. 让转义字符失效必须加\或r或R主要转义字符有:\r回车、\t制表符、\n换行、\f换页当前路径拼接新目录new_path1 = os.getcwd()原创 2020-10-01 15:00:09 · 3229 阅读 · 0 评论 -
app自动化测试框架之desired_caps.yaml文件封装
app自动化测试框架之desired_caps.yaml文件封装# 字典形式platformName: AndroidplatformVersion: 7.1deviceName: 127.0.0.1:62001# deviceName: EmulatorappPackage: com.android.settingsappActivity: .SettingsnoReset: TrueautomationName: UiAutomator2...原创 2020-10-01 03:24:56 · 227 阅读 · 0 评论 -
python版的app自动化测试之公共层基础页面函数封装
python版的app自动化测试之公共层基础页面函数封装# —— coding :utf-8 ——# @time: 2020/9/30 15:49# @IDE: py_AppTest# @Author: xxxxx# @Email: xxxxx@qq.com# @File: basepage.pyimport loggingimport timeimport datetimefrom Common import dir_configfrom selenium.原创 2020-10-01 03:07:04 · 361 阅读 · 0 评论 -
python版 app自动化测试之屏幕滑动函数封装
python 版 app自动化测试之屏幕滑动函数封装以下三种形式自行选择一种,或进行再次改造封装封装形式1:# —— coding :utf-8 ——# @time: 2020/10/1 0:50# @IDE: xxxxxxx# @Author: xxxxxxx# @Email: xxxxxxx@qq.com# @File: base.pyimport loggingfrom Common import dir_configimport timeclas原创 2020-10-01 01:28:12 · 505 阅读 · 1 评论 -
windows下命令行方式激活venv虚拟环境
windows下命令行方式激活venv虚拟环境先cd venvcd Scriptsactivate成功切换到venv虚拟环境下原创 2020-09-28 01:56:44 · 13140 阅读 · 1 评论 -
xpath元素定位常用操作
xpath常用操作1. xpathhelper安装使用作用:对当前页面测试xpath语法规则安装下载插件根据平台判断是否修改扩展名打开扩展程序界面拖动插件安装安装链接:https://blog.csdn.net/weixin_45912307/article/details/1086123102.xpath基础语法/ 绝对路径//相对路径. 当前节点…上层节点//title/text()[=“xxx”] 从开闭标签间取文本内容//link/@href 从选中节点标签中获原创 2020-09-17 02:04:09 · 397 阅读 · 0 评论 -
“TypeError: __init__() takes 2 positional arguments but 3 were given”解决方案
TypeError: init() takes 2 positional arguments but 3 were given解决方案运行前错误分析presence_of_element_located()方法中传入的参数格式是一个元组把 WebDriverWait(self.driver,20).until(EC.visibility_of_element_located(By.XPATH,'//div[@class ="form-error-info"]'))修改为WebDriverWai原创 2020-09-17 01:54:33 · 18340 阅读 · 0 评论 -
XPATH Helper谷歌浏览器元素定位扩展工具的安装和使用
XPATH Helper 谷歌浏览器元素定位工具的安装和使用附上XPATH Helper工具安装包链接: https://pan.baidu.com/s/1S7izCQQIuESlL0ElzMcN3w提取码: fyc7先将此文件进行解压打开谷歌流浪器---->找到“更多工具”---->点击"扩展程序"开启"开发者模式"----->点击"加载已解压的扩展程序"打开解压好的工具文件包工具安装成功,关闭流浪器重启复制需要定位元素XPATH原创 2020-09-16 00:06:00 · 678 阅读 · 0 评论 -
web自动化_谷歌浏览器文件上传操作
web自动化_谷歌浏览器文件上传操作# —— coding :utf-8 ——# @time: 2020/9/15 13:43# @IDE: Test_HttprequestDemo# @Author: xxx# @Email: xxx@qq.com# @File: file_up.py# pip install pypiwin32import win32guiimport win32con# 谷歌浏览器def upload_file(filepath):原创 2020-09-16 00:07:48 · 1259 阅读 · 0 评论