自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 Python接口自动化-session会话关联cookie

目前全文是翻译的,讲的主要是 cookie 验证和 token 验证的区别,cookie 验证准确的说是利用 cookie 来作为媒介,存储 session ID 进行验证,token 其实也可以借助 cookie 来存储,不过下文中提到的 cookie 验证主要是指 session ID 存储到 cookie 中进行的验证。token 验证主要是指 token 存储在 Authorization Header 中进行的验证。Cookiecookie 验证是用于长时间用户验证,cookie 验证是有状态

2020-07-21 14:55:51 617

原创 Python接口自动化-requests.session保存token

在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies、tokend等等信息。在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如token信息。import requestsr=requests.session()url='http://49.235.92.12:6007/api/v1/login'body={ "username": "admin", "password"

2020-07-20 17:08:46 2324

原创 Python接口自动化-json解析,正则、字典、jsonpath

Response返回有三种格式:r.content #输出字节r.txt #输出strr.json() #将json格式数据,转为字典格式输出import resuqestsr=requests.get(url,params=params)r.content #输出字节r.txt #输出strr.json() #将json格式数据,转为字典格式输出- 字典断言:键值对提取将返回的是json格式,可以将返回用r.json()转换成子字典提取数据,在进行

2020-07-19 19:44:07 700

原创 Python接口自动化-Json转Dict格式

json转dictjsondictobjectdictarrayliststringunicodenumber(int)int,longnumber(real)floattrueTruefalseFalsenullNonejson转换成dictjson.loads()import json#字典dict1={ "a":True, "b":False, "c":None, "e":

2020-07-19 18:35:04 187

原创 Python接口自动化-dict字典转换成json

Json和dict给类型数据比对-注意:Json true小写开头,false也是小写开头dict True 大写开头,False也是大写开头jsonpythonobjectdictarrayliststringunicodenumber(int)int,longtrueTruefalseFalsenullNone- Dict转换成Json格式import jsonjson.dumps(dict)...

2020-07-18 22:36:09 343

原创 Python接口自动化-用pytest执行测试

1.用上一篇的方法配置好pytest执行代码2.导入pytest3.右击使用“Run 'pytest in xxx.py"方式执行代码,执行效果如下

2020-07-17 18:06:43 636

原创 Python接口自动化-pycharm设置用Pystest执行用例

安装Pytest:pip install pytestPytest用例设计原则包:所有包要有__init__.py文件类名:Test开头文件名:test_*或者*_test函数/方法名:test_开头Pycharm配置用pytest执行脚本如果设置成功后,还有右键没有pytest执行方式的话,可以在图中所示的那里加到python test然后可以在上面选择需要用的需要使用默认的python方式执行代码然后在下方的位置切换执行代码的方式了哦...

2020-07-17 17:55:37 1109

原创 Python接口自动化-Fiddler进行接口测试

点击Composer选择请求方式,填写请求连接和参数点击Execute执行看左边的列表,点击自己请求的接口即可

2020-07-17 16:47:29 282

原创 Python接口自动化-Fiddler模拟弱网测试

Fiddler->Rules->Performance->Simlate Modem Speeds2.Rules->Customize Rules,打开一个文件3.修改请求还是响应时间就可以了

2020-07-17 16:41:21 763

原创 Python接口自动化-python发送post请求

方式一: post不带body,请求参数在url上面,参数传到params方式二:Post请求带Body,请求头部:Content-Type: application/json{“ussename”:“admin”,“password”:“123”}body传到json中方式三:Post 带body请求头部:Content-Type: application/x-www-form-urlencodedusername=test1&password=123456-body传到d

2020-07-17 15:26:58 862

原创 Python接口自动化-请求https 报ssl证书错误requests.exceptions.SSLError

requests请求https协议,开着fiddler会提示SSL证书错误requests.exceptions.SSLError,解决这个问题有2个方法- 方法一关闭fiddler抓包工具- 方法二import urllib3 # 使用这个方法就OK了urllib3.disable_warnings() # 忽略警告...

2020-07-17 15:03:59 662

原创 Python接口自动化-python使用requests库发送Get请求

python -Requests的用法官方文档:https://requests.readthedocs.io/zh_CN/latest/Requests发送Get请求import requestsurl = "http://japi.juhe.cn/qqevaluate/qq"params={ "key": "8dbee1fcd8627fb6699bce7b986adc5**", "qq": "283340479"}#URL最后的效果是:http://japi..

2020-07-16 13:08:26 347

原创 Python接着自动化-请求状态码

状态码类型,5种类型状态码说明1xx指示信息–表示请求已接收,继续处理2xx成功–表示请求已被成功接收、理解、接受3xx重定向–要完成请求必须进行更进一步的操作301永久重定向302临时重定向304用到缓存,请求服务端资源未改变,用本地未过期缓存4xx客户端错误–请求有语法错误或请求无法实现5xx服务器端错误–服务器未能实现合法的请求常见的状态码状态码说明200OK //客户端请求成功400

2020-07-16 12:47:08 153

原创 Python接口自动化-Post的body常见的数据类型有5种

第一种:application/json: {“key1":“xxx”,“key2":“xxxx",“key3":false}第二种:application/x-www-form-urlencoded: key1 =xxx&key2=ooo&key3=false第三种:multipart/form-data:这一种是表单格式的第四种:text/xml<!--?xml version="1.0"?--><methodcall><m.

2020-07-16 12:38:56 991

原创 Python接口自动化-request的组成

request请求组成客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。请求头参数介绍参数说明Accept浏览器可接受的媒体类型Accept-Language浏览器可接受的语言Accept-Encoding编码格式User-Agent客户端类型Cookie身份认证Content-Type发送post时候,body的数据类型声明..

2020-07-16 12:31:10 273

原创 Python接口自动化-Fiddler保存会话

保存Text选择一个回话-右击保存-save-as Text保存成saz可以把saz文件发给开发,开发可以通过fiddler可以直接查看问题

2020-07-16 11:24:21 194

原创 Python接着自动化-Fiddler 乱码处理

有的时候抓包的时候,页面内容太多,导致Fiddler中Raw显示的是乱码,这是可以用Decode来解码,就可以正常显示了。解码后:

2020-07-15 17:35:59 223

原创 Python接口自动化-fiddler显示请求方法

- Fiddler显示请求方式1.鼠标放#后面2.选择Miscellaneous3.选择RequestMethod

2020-07-15 17:29:21 278

原创 Python接口自动化-接口请求方法

HTTP请求的方法:HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式HTTP1.0定义了三种请求方法: GET, POST (最常用)和 HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法GET:主要用户获取资源,没有body,参数可以在URL中传递,例如https://so.csdn.net/so/search/s.do?q=python&t=&a

2020-07-15 17:20:03 332

原创 Python接口自动化-Http协议简介

Http概念HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。Http和Https的区别HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Socket

2020-07-15 17:03:58 252

原创 linux --安装python3.7

更新依赖环境$sudo apt-get update$sudo apt-get install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-de.

2020-07-15 16:35:30 202

原创 Python-练习题:输出100以内的所有素数,素数之间以一个空格区分(注意,最后一个数字之后不能有空格)

算法1:让数相乘结果小于100的剔除即可a=range(2,101)for i in range(2,101): for j in range(2,101): result = i * j if(result<101 ): if(a.count(result)>0): a.remove(resu...

2019-12-23 14:32:56 10108

转载 charles破解版及教程

https://my.oschina.net/u/3367404/blog/3014822

2019-10-23 10:42:35 332

原创 【Appium+java】读取短信

adb shellsucat /data/data/com.android.providers.telephony/databases/mmssms.db

2019-10-11 17:29:07 513

原创 【Appium+Java】toast获取方法与判断方法

配置中添加参数capabilities.setCapability(“antomationName”,“uiautomator2”);识别toast的方法//查找断言toast public void assertToast(String message){ final WebDriverWait wait = new WebDriverWait(driver, 10);...

2019-10-11 09:07:25 240

原创 【Appium+java】键盘事件

public AndroidDriver driver;需用AndroidDriver方法如下:driver.pressKey(new KeyEvent(AndroidKey.BACK));键盘事件文档:https://www.javadoc.io/doc/io.appium/java-client/7.2.0

2019-09-26 18:12:08 530

原创 【Appium+java】appium 7.2.0接口文档地址

英文文档地址:https://www.javadoc.io/doc/io.appium/java-client/7.2.0

2019-09-26 18:10:18 309

原创 【Appium+java】失败自动监听截图

监听类public class ScreenshotListener implements ITestListener { //public AndroidDriver<AndroidElement> driver; public void onTestStart(ITestResult result) { // TODO Auto-generated method stu...

2019-09-18 11:34:26 206

原创 【Appium+java】appium隐示等待方法封装

public class BasePage { public AndroidDriver<AndroidElement> driver; public BaseDriver dr; public BasePage(AndroidDriver<AndroidElement> driver) throws MalformedURLException, Interrup...

2019-09-18 11:25:50 523

原创 【Appium】eclipse+appium如何执行adb命令

前提:配置好环境jdk+sdk等等执行代码封装runtime方法,调用runtime方法即可执行adb命令,runtime(“adb 命令”)public static void runtime(String adb) throws IOException { Process p = Runtime.getRuntime().exec(adb); //Process p = ...

2019-09-16 15:56:49 890

原创 浏览器切换,打开新的浏览器,关闭新浏览器

selenium WebDriver之切换到链接打开的新浏览器窗口selenium WebDriver测试网页时,点击target=”_blank”的链接,在打开新页面,切换到新窗口的方法如下:@Testpublic void testYpd() throws Exception {driver.get(baseUrl + “/”);driver.findElement(By.linkT...

2019-08-13 12:46:43 242

原创 如何解决 element click intercepte: is not clickable at point (**, **)异常

在写代码时报这个错误:org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element <div class="naImgLink">...</div> is not clickable at point (656, 398). Other element wo...

2019-08-13 12:33:43 1093

原创 Selenium隐示和显性等待

1.隐形等待隐形等待:隐性等待是指当要查找元素,而这个元素没有马上出现时,告诉WebDriver查询Dom一定时间。默认值是0,但是设置之后,这个时间将在WebDriver对象实例整个生命周期都起作用。driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);2… 显性等待显式等待 使用ExpectedCondition...

2019-08-13 12:17:54 249

原创 封装By和WebElement

//封装By方法 public By bystr(String usename) throws IOException { if(localType.equals("id")) { return By.id(valuel); }else if(localType.equals("name")) { return By.name(valuel); ...

2019-07-21 18:49:10 374

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除