![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python自动化测试
严简易
学生党
展开
-
接口自动化测试-request 【4 认证体系】
1. http basic使用chaeles抓包查看此类请求在自动化测试中,可以使用auth参数传递认证信息2. request 中的http basic认证import requestsfrom requests.auth import HTTPBasicAuthdef test_oauth(): r = requests.get(url = "https://httpbin.testing-studio.com/basic-auth/Yc/31415",原创 2021-04-29 09:33:28 · 132 阅读 · 0 评论 -
Session Cookie Token区别
cookie:浏览器接受服务器的set-cookie指令,并把cookie保存到电脑上,每个网站保存的cookie只作用于自己的网站session:数据储存到服务端,只把关联数据的一个加密串放到cookie中标记tokensession与token的区别token是一个用户请求时附带的请求字段,用于验证用户与权限session可以基于cookie,也可以基于query参数,用户关联用户的相关数据跨端应用的时候,比如android原生系统不支持cookie需要用token识别用户需要.原创 2021-02-05 16:33:57 · 120 阅读 · 0 评论 -
GET与POST的区别
请求行不一样post带 content-Length 和content-type区别总结:http 的method字段不一样post可以附加body,可以支持form、json、xml、binary等各种数据格式行业通用的规范无状态变化的简易用get请求数据的写入与状态修改建议用post...原创 2021-02-05 15:53:33 · 111 阅读 · 0 评论 -
http协议的结构
* http报文结构请求报文方法常见状态码请求与响应格式分析请求报文方法原创 2021-02-05 15:39:18 · 135 阅读 · 0 评论 -
用Curl命令发送请求
使用chrome开发者工具分析网络请求Copy as crul:批量化的测试,批量化的任务※ Curlcurl命令:https://ceshiren.com/t/topic/1065curl --helpcurl https:// | jq 格式化输出原创 2021-02-05 14:42:07 · 165 阅读 · 0 评论 -
Postman发送请求
增加断言:在test下面变量:环境变量与全局变量变量引用:{{variableName}}添加Cookie:Cookie可以用来鉴权参数传递:获取需要的值将获取到的值设置为环境变量在需要验证的接口中引用环境变量中保存的值...原创 2021-02-05 12:58:41 · 111 阅读 · 0 评论 -
接口测试基础理论随便记一记
接口测试的必要性行业成熟方案更早地发现问题更快地质量反馈Rustful软件架构风格post:新增或者更新get:获取资源put:更新资源delete:删除资源RPC协议Remote Procedure Call,以本地代码调用的方式实施远程执行DubboJava上的高性能RPC协议,Apache开源项目,由阿里捐赠gRPCThrift接口协议分析协议分析工具网络监听:网络层,适合底层代理:适合httptcpdump...原创 2021-02-05 10:12:46 · 55 阅读 · 0 评论 -
【python UI自动化测试框架】 1、设计思路
1、设计思路PageObject设计模式对UI及测试进行封装PO改进测试数据的数据驱动数据步骤的数据驱动自动化异常处理机制Pytest单元测试2、PageObject改进3、测试步骤的数据驱动核心思想:对测试步骤进行封装利用yaml编写测试用例意义:提高测试代码的编写效率异常排查效率高代码可维护性高Yaml格式:...原创 2021-02-02 09:52:54 · 470 阅读 · 0 评论 -
【Python自动化测试】 Appium安装与使用
Appium安装adb:andoid的控制工具,用于获取android的各种数据和控制Appium Desktop:内嵌了appium server和inspector的综合工具Appium Server:appium的核心工具,命令行工具(被Appium Desktop替代)Appium client:各种语言的客户端封装库,用于连接appium serverpython、java、ruby、js…环境搭建python客户端:pip install appium-python-c原创 2021-01-30 16:32:39 · 305 阅读 · 2 评论 -
【python自动化测试】自定义AppiumServer
1、自定义AppiumServergit clone用webstorm打开appium源代码,进行修改从源码运行git clone https://github.com/appium/appium.gitcd appiumnpm install # 安装所有依赖npm run buildnode .npm install -g npm #更新npm npm版本可能会踩坑,可以试试安装新版本的npm2、重新编译Uiautomatorgit clonegradle 用AS打原创 2021-01-30 09:39:31 · 153 阅读 · 0 评论 -
【Python】Appium源码
客户端webdriver 自动化的endpointappium serverNode.js系列包appium体系架构package.jsonadb shellChromeDriver底层引擎Uiautomator JavaWDAseleniumuiautomator2-server协议appium-uiautomator2-server -> appium-uiautomator2-driver -> appium-android-driver.原创 2021-01-30 09:02:08 · 158 阅读 · 0 评论 -
【Python自动化测试】WebView技术原理
1、uiautomator定位不同设备可能不同2、映射到本地chromeappium -g appium.log | tee # 保存日志域套接字 概念进程与进程之间通讯的一种方式客户端与服务端建立连接,需要有共同的套接字,和相应的服务端的端口号套接字会处于监控状态,来监听客户端发来的请求获取webview的进程:adb shell cat /proc/net/unix | grep webview查看进程对应的应用:adb shell ps | grep 10039端口原创 2021-01-29 14:45:00 · 356 阅读 · 0 评论 -
【Python自动化测试】Appium进阶操作
Appium模拟操作测试过程中模拟来电,来短信模拟网络的切换运行中获取系统的日志截图模拟发短信http://appium.io/docs/en/commands/device/network/gsm-call/模拟器的操作yc@yc-virtual-machine:~$ emulator -list-avdsPixel_2_API_28avd的配置:“avd”: “Pixel_2_API_28”capability的进阶网址client指令最大时间间隔指定设备udi原创 2021-01-29 14:09:03 · 101 阅读 · 0 评论 -
【Python 自动化测试】Hybrid 混合应用
1、渲染后的方式,用uiautomotor方式2、原生的html结构,需要转换上下文:self.driver.switch_to.context()3、获取手机webdriver版本:adb shell pm dump com.android.webview | grep version可以添加‘chromedriverExecutableDir’:’/ /’可以自动匹配,可以指定maping字典‘chromedriverChromeMappingFile’:‘json文件’4、logcat原创 2021-01-29 13:11:08 · 188 阅读 · 0 评论 -
【python自动化测试】Web App应用测试——占坑
需要配置driverhttps://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.mdadb shell pm list packageadb shell pm list package | grep browseradb shell pm dumpadb shell pm dump package:com.android.browser | grep versionadb原创 2021-01-28 15:05:25 · 75 阅读 · 0 评论 -
【python自动化测试】appium参数化用例
在实际测试过程中,有很多测试步骤一样但参数不同的情况。这种情况下,我们可以通过参数化实现编写一个测试,该测试用例可以完成所有相同步骤的测试。参数化需要用到pytest的装饰器:@pytest.mark.parametrize()参数化实例:from appium import webdriverfrom appium.webdriver.common.mobileby import MobileByfrom hamcrest import *import pytestclass TestH原创 2021-01-28 13:12:01 · 290 阅读 · 0 评论 -
【Python自动化测试】appium的两种断言方式
1、普通断言普通断言在selenium时已经很熟悉了,不做过多介绍a = 10b = 20assert a < b(上面错了就结束了)assert 'h' in 'this'(下面不会执行了)2、hamcrest断言简介:PyHamcrest是一个编写匹配器对象的框架,可以定义“匹配”规则,提高可读性及开发性能,可以自定义匹配器。安装:pip install Pyhamcrest基本使用:from hamcrest import *class TestHamcrest原创 2021-01-28 11:00:47 · 1861 阅读 · 0 评论 -
【Python自动化测试】Appium get_attribute使用方法
官方文档文档不详细,可以下载源代码(以安卓为例)用AndroidStudio打开,可以查看可以过去的所有属性值CHECKABLE(new String[]{"checkable"}),CHECKED(new String[]{"checked"}),CLASS(new String[]{"class", "className"}),CLICKABLE(new String[]{"clickable"}),CONTENT_DESC(new String[]{"content-desc", .原创 2021-01-28 10:45:19 · 547 阅读 · 0 评论