- 博客(24)
- 收藏
- 关注
原创 Charles 中间人机制原理
Https通信采用非对称、对称两种加密算法。1.在首次请求建立连接时采用非对称算法加密,客户端向服务端发起请求。2.服务端响应后携带CA证书发给客户端。3.客户端通过本地信任的CA证书机构解密验证证书的合法性,如果不合法则报警不通过,如果通过1.客户端生成一个随机数。2.使用公钥对随机数进行加密发送给服务器。3.服务器对客户端发来的内容用私钥解密,解密成功后使用对称算法进行加密,返回给客户端。之后双方的数据交互就使用这个随机数进行加密解密。Charles 中间人机制通过作为客户端的代理拦
2020-08-18 12:03:22
466
原创 Weditor使用踩坑记录
只有python 3.5.0 以上才支持尴尬: 正好是python3.5.01.升级python2.下载 uiautomator2 pip install --upgrade uiautomator2运行 python -m uiautomator2 init3.下载 weditor pip install --upgrade weditor运行 python -m weditor4.单独启动weditor 获取不了 客户端信息 只有先启动uiautomator2 再启动w
2020-08-17 17:35:44
4324
1
原创 Python property装饰器
property装饰器把方法包装成属性,让方法可以以属性的形式被访问和调用。property 应用场景1.需要限制对象属性的设置和获取。2.在设置对象属性的时候添加一些规则校验等。被 @property 装饰的方法是获取属性值的方法,被装饰方法的名字会被用做 属性名。被 @属性名.setter 装饰的方法是设置属性值的方法。被 @属性名.deleter 装饰的方法是删除属性值的方法。class Dog: def __init__(self, name): self.
2020-08-10 16:44:33
182
原创 Python paramunittest数据驱动执行顺序修改
使用Python paramunittest执行测试用例的时候 如果用例个数超过10个会按照0,1,10,11,12…的顺序执行,非常难受。进入paramunittest模块修改_build_name函数内容如下 if index < 10 and index is not 0: index = '0' + str(index) return '%s_%s' % (name, index)...
2020-08-10 15:17:40
273
原创 Python Socket
Socket 基于传输层TCP、UDP协议进行网络编程模块TCP协议:服务端和客户端初始化 socket,得到文件描述符;服务端调用 bind,将绑定在 IP 地址和端口;服务端调用 listen,进行监听;服务端调用 accept,等待客户端连接;客户端调用 connect,向服务器端的地址和端口发起连接请求;服务端 accept 返回用于传输的 socket 的文件描述符;客户端调用 write 写入数据;服务端调用 read 读取数据;客户端断开连接时,会调用 close,那么服
2020-08-10 15:08:28
157
原创 JavaScript break和continue
break 经常用来结束本次循环实例<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <...
2020-03-06 15:58:02
164
原创 JavaScript while循环
当while 的条件为真时执行代码语法:while (条件){ // 代码块}实例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, in...
2020-03-04 17:15:56
376
原创 JavaScript for循环语句
for循环语句可以用来执行相同的代码数次。语法:for (语句 1; 语句 2; 语句 3){ 被执行的代码块}语句 1 (代码块)开始前执行语句 2 定义运行循环(代码块)的条件语句 3 在循环(代码块)已被执行之后执行for / in 循环用来遍历对象的属性例如:<!DOCTYPE html><html lang="en"><...
2020-03-04 16:33:08
172
原创 JavaScript Switch语句
switch 语句用于基于不同的条件来执行不同的动作。语法:switch(condition){ case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: 与 case 1 和 case 2 不同时执行的代码}将表达式conditi...
2020-03-02 16:23:28
180
原创 JavaScript条件语句
条件语句就是满足一定的条件就去执行相应的操作,不满足时也去执行相应的操作。在JavaScript中,共有4种:if 语句 只有当条件为true时,执行之后的代码。if…else… 语句 当条件为true时执行if后面的代码,当条件为flase时执行else后面的代码if…else if…else… 当满足其中一个 if 条件时执行后面的代码,否则执行else后面的代码switc...
2020-02-19 12:22:19
216
原创 JavaScript字符串
字符串用于处理和存储文本,字符串可以用单引号或者双引号;var name = 'Joho honey';var name = "Joho honey";可以使用索引来访问字符串的具体字符,索引从0开始:var name = "Joho honey";var char = name[2]字符串长度:可以使用内置属性length来计算字符串长度var name = "Joho ho...
2020-02-15 16:55:45
127
1
原创 javaScript事件
html事件是触发在Html元素上的事情,在html中使用javaScript时可以对这些元素进行操作,html事件可以是浏览器行为也可以是用户行为,在事件触发时可以通过javaScript代码做一些事情。<button onclick="getElementById('demo').innerHTML = Date()">现在时间是</button>//这个是可以修...
2020-02-15 16:04:28
136
原创 javaScript作用域
JavaScript作用域分为全局作用域和局部作用域,变量在函数内声明则变量为局部作用域,在函数外声明或者在函数内未声明的变量也未全局作用域。局部作用域实例:// 此处不能调用name变量function myFuncton(){var name = "小布丁";}因为函数内的变量只作用与函数内部,所以不同的函数内部可以有相同的变量名称,局部变量在函数开始的时候创建,在函数结束后被...
2020-02-15 11:42:56
79
原创 javaScript函数
函数是由事件驱动的或者被调用时执行的可重复使用的代码块1.普通函数function godLike(){ alert("good job")}实例:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport"...
2020-02-13 19:14:34
77
原创 javascript语法
javascript是一个脚本语言。它是一个轻量级得但是功能强大的编程语言。1.数字(Number)可以是整数也可以是小数,也可以是科学计数(e)。100 0.011.2e52.字符串(String)可以使用单引号或双引号。"basketball"'basketball'3.表达式3 + 63 * 6 4.定义一个数组[0,100,200,300,400,500]...
2020-02-13 11:27:19
96
原创 javascript输出
javascript没有标准得输出函数或者打印函数,只能通过一些方式去显示数据。1.使用window.alert()弹窗<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev...
2020-02-12 16:09:01
160
原创 Javascript用法
1.HTML 中的脚本必须位于 标签之间。脚本可被放置在 HTML 页面的 和 部分中<!DOCTYPE html><html><body>..<script>document.write("<h1>标题</h1>");document.write("<p>段落</p>");&l...
2020-02-11 11:16:24
100
原创 python map()、reduce()、filter()函数
map(function,sequ): 对sequence中的item依次执行function(item),将结果组合返回成一个生成器info = [0,1,2,3,4,5,6,7,8,9]add_info = map(lambda x:x+1,info)print (add_info)for i in add_info: print (i)结果:<map objec...
2019-12-10 17:38:09
92
原创 Python 条件与循环
条件语句Python 常用循环语句:y = |x|if x<0: y = -xelse: y = xPython 中不支持switch 语句,当存在多个判断时在python里面可以用else if来实现 表达式为 elif。if condition0: statement_0elif condition1: statement_1elif condition2: ...
2019-12-06 20:39:57
249
原创 日常学习笔录day5
v-if 和 v-show 的使用和区别v-if和v-show<div id="app"> <input type="button" value="按钮" @click="flag=!flag"> <!-- v-if的特点 每次都会重新删除或者创建元素 --> <h1 v-if="flag">这是v-if控制的标题&l...
2019-11-24 21:31:28
87
原创 日常学习笔录day4
v-for指令:1.迭代数组list:[1,2,3,4]<p v-for="(item,i) in list"> </p>结果:item i1 02 13 24 3索引值都在后2.迭代对象中的属性list[:{id:1,name:“zs”}]<p v-for="(value,key,i) in list" > &l...
2019-11-21 22:51:23
114
原创 日常学习笔录day3
一.事件修饰符1. .stop 阻止事件冒泡 @click.stop=“method”2. .prevent 阻止默认事件 @click.prevent=“method” 例如:a 标签默认会跳转 阻止跳转3. .capture 添加事件监听器时的捕获事件 反着的冒泡 @click.capture=“method”4. .once 只触发一次事件处理函数 @click.stop...
2019-11-20 22:30:09
102
原创 日常学习笔录day2
实现跑马灯效果:重点:1.this调用vue实例内部的方法和属性2.箭头函数里面的this和外部的this相同也可以访问vue实例里面的方法和属性3.解决定时器加入判断阻止程序一直运行和停止后再次点击运行无效...
2019-11-19 22:22:24
87
原创 日常学习笔录day1
Vue 学习笔录day11.vue基本代码和MVVM之间的对应关系 {{msg}} <script> var vm = new Vue({ el: '#open', data: { msg: '我在嗑瓜子' } })</script>##...
2019-11-17 21:18:38
118
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人