[python自动化第十一篇:] 课程简介 gevent协程 select/poll/epoll/异步IO/事件驱动 RabbitMQ队列 上节课回顾 进程: 进程的诞生时为了处理多任务,资源的隔离,提供程序运行的所有数据 进程就是一个程序运行所需要的资源集合 每个进程的数据是独立的 每个进程至少有一个线程 适用于CPU密集型程序(金融分析等..) 线程: 线程数据是共享的 线程依赖于进程运行 适用于IO密集型程序(socket,web,爬虫) 总结: 一个进程的多个线程可以充分利用多和cpu…
简介 今天由宏哥给小伙伴们来介绍猴哥的混血弟弟=Monkey.Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上. Monkey会发送伪随机的用户事件流,适合对app做压力测试. 常用名:Monkey 原名:Monkey 出身年月:不详 职业:自动化测试工具 常住地址:花果山水帘洞1号 1.Monkey简介 在Android的官方自动化测试领域有一只非常著名的“猴子”叫Monkey,这只“猴子”一旦启动,就会让被测的An…
1-1 Python运维-课程简介及基础 1-2 Python运维-自动化运维脚本编写 2-1 Python自动化运维-Ansible教程-Ansible介绍 2-2 Python自动化运维-Ansible教程-Ansible配置运行1 2-3 Python自动化运维-Ansible教程-Ansible配置运行2 2-4 Python自动化运维-Ansible使用教程1 2-5 Python自动化运维-Ansible使用教程2 2-6 Python自动化运维-Ansible使用教程3 2-7 A…
1.jQuery是什么? jQuery是一个 JavaScript/Dom/Bom 库. jQuery 极大地简化了 JavaScript 编程. jQuery 很容易学习. 2.jQuery对象与Dom对象的相互转换 jquery对象[0] => Dom对象 Dom对象 => $(Dom对象) 3.jQuery查找元素 3.1 选择器 基本选择器,直接找到某个或者某类标签: 1. id选择器 $('#id') 2. class选择器 $(".c1") 3. 标签选择器 $…
知识点概览: 面向对象的介绍 面向对象的特性(class,object)实例变量,类变量 面型对象编程的介绍 其他概念 一.面向对象介绍 编程范式:面向对象,面向过程,函数式编程 面向过程:通过一组指令告诉机器去一步一做什么:一个过程包含一组要被进行计算的步骤,从头到尾的执行顺序:程序的修改要注意各个部分的依赖关系,否则会影响其他过程的运行,发生一连串的影响,维护困难. 面向对象:OOP编程是利用类和对象来创建各种模型实现对真实世界的描述:使用面向对象编程的原因是一方面它会使得程序的维护和拓展变…
今天内容: 模块的定义 导入方法 import的本质 导入优化 模块分类 模块介绍 一.模块定义: 用来在逻辑上组织python代码(变量,函数,逻辑,类):本质就是为了实现一个功能(就是以.py结尾的python文件) 比如说:文件名为test.py的文件,他的模块名就是test 例如:在同一个文件夹下创建main.py(导入模块的程序),test.py(模块文件) #main.py文件内容如下: #!/usr/bin/env python # -*- coding:utf-8 -*- #Au…
今天的课程总结: 装饰器 迭代器&生成器 json&pickle实现数据的序列化 软件目录结构规范 一.装饰器 装饰器的本质是函数,起目的就是用来为其它函数增加附加功能 原则:不能修改被装饰函数的源代码:被装饰函数的调用方式不能改变  ,简而言之就是转时其对于函数就是透明的,对被装饰的函数是没有影响的. 实现装饰器的知识储备:函数即变量:高阶函数:嵌套函数:最终高阶函数加上嵌套函数就构成了装饰器,函数也就是一种变量 知识点介绍: 函数即变量 高阶函数: a.把一个函数名仿作实参传给另外一个…
一,jQuery 知识详解 利用jquery 查找元素,操作元素 1,jquery 引入 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div id="i1">123</div>…
本节内容: 进程与线程区别 线程 a)  语法 b)  join c)  线程锁之Lock\Rlock\信号量 d)  将线程变为守护进程 e)  Event事件 f)   queue队列 g)  生产者消费者模型 3. python GIL全局解释器锁 1. 进程与线程区别 线程:是操作系统能够进行运算和调度的最小单位,是一堆指令的集合.线程被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.线程就是cpu…
本节内容 模块初识 .pyc简介 数据类型初识 数据运算 列表.元组操作 字符串操作 字典操作 集合操作 字符编码与转码 一.模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,让我们先来象征性的学2个简单的. sys #!/usr/bin/env python # -*- coding: utf-8 -*- import sys print(sys.argv) #输出 $ python test.py helo worl…
Python简介: 一.什么是python Python是一门动态解释性的强类型定义语言. pythonde 特点:“优雅”.“明确”.“简单”. 二.Python由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 三.目前Python主要应用领域 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大…
复习: 线程与进程的区别: 进程:资源的集合 线程:最小调度单位 进程至少包含一个线程 线程之间的内存是共享的,两个线程操作同一个数据就会修改整个结果(需要mutex加锁来保持数据的一致性),递归锁,join(等待线程执行完成) 信号量:也相当于是lock 守护线程:服务于非守护线程: quene:程序的解耦:提高效率:也是有序的容器:队列只有一份数据,取完了就没有了 先进先出(FIFO) 后进先出(LIFO) 生产者消费者模型:也就是为了实现解耦 event:事件---红绿灯实验 i/o不占用…
一.拾遗 动态导入模块 目的是为了在导入模块的过程中将模块以字符的格式导入. #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:wanghui lib = __import__("lib.aa") #传统方法 lib.aa import importlib aa = importlib.import_module("lib.aa") #官方做法 print(aa.C().name) 断言 类似于if,实际的意思…
知识点概览: 静态方法,类方法,属性方法 类的特殊方法 反射 异常处理 socket开发基础 一.静态方法:@staticmethod 只是名义上归类管理,实际上在静态方法里访问不了类或者实例中的任何属性.也可以说跟类没什么关系了,也就是截断了跟类的关联,实际上也就是一个函数而已.   实际场景就可以用它来做个工具包 #!/usr/bin/env python # -*- coding:utf-8 -*- class Dog(object): def __init__(self,name): s…
鸡汤: 多学习,多看书. 推荐书籍:<追风筝的人>,<林达看美国>,<白鹿原> 本节知识点 集合及其操作 文件操作 函数与函数式编程 递归 一.集合及其操作 集合(set):把不同的元素组成一起形成集合,是python基本的数据类型.下面是set的基本操作: 关系测试: #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:wanghui #set_1 = set([123,345,678]) #创建set l1 =…
[python自动化第一篇:python介绍与入门] [python自动化第二篇:python入门] [python自动化第三篇:python入门进阶]      [Python自动化第三篇(2):文件 函数] [python自动化第四篇:python入门进阶] [python自动化第五篇(1):模块]              [Python自动化第五篇(2):常用模块] [python自动化第六篇:面向对象] [python自动化第七篇:面向对象进阶] [python自动化第八篇:网络编程]…
目录:Python自动化运维笔记 Python自动化运维 - day2 - 数据类型 Python自动化运维 - day3 - 函数part1 Python自动化运维 - day4 - 函数Part2 Python自动化运维 - day5 - 函数part3.模块与包 Python自动化运维 - day6 - 常用模块 Python自动化运维 - day7 - 面向对象 Python自动化运维 - day8 - 面向对象高级及异常处理 Python自动化运维 - day8 - socket编程…
Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost'…
Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost'…
Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 import MySQLdb def GetList(sql): db = MySQLdb.connect(user='root', db='wupeiqidb', passwd='1234', host='localhost'…
进击的Python[第十七章]:jQuery的基本应用…
python自动化运维之CMDB篇 视频地址:复制这段内容后打开百度网盘手机App,操作更方便哦 链接:https://pan.baidu.com/s/1Oj_sglTi2P1CMjfMkYKwCQ 提取码:ifp2 CMD是什么以及发挥什么样的作用 1.1:CMDB架构 文档使用CMDB部署redis集群来演示 1.2:CMDB核心功能 1.使用CMDB部署的服务,会服务器记录所有设备信息 ,包括机房,公网IP/私网,集群信息,负责人,连接交换机端口 带宽,硬盘,CPU内存等信息 2.在CMD…
前言 最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下, 回答不妥的地方欢迎各位高手拍砖指点.   一.selenium中如何判断元素是否存在? 首先selenium里面是没有这个方法的,判断元素存在需要自己写一个方法了. 元素存在有几种形式,一种是页面有多个元素属性重复的,这种直接操作会报错的:还有一种是页面隐藏的元素操作也会报错 判断方法参考这篇:Selenium2+python自动化36-判断元素存在   二.selenium中hidden或者是di…
前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. 什么是xpath呢? 官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来查找到这个元素的,相当于通过定位一个对象的坐标,来找到这个对象. 一.xpath:属性定位 xpta…
不是所有的弹出框都叫alert,在使用alert方法前,先要识别出它到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用对应方法解决.alert\confirm\prompt弹出框操作主要方法有:text() :获取文本值accept() :点击"确认"dismiss() :点击"取消"或者叉掉对话框send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没有输入框QQ交流群:232607095(版权所有:&q…
本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python Python开发[第三篇]:Python基本数据类型 Python开发[第四篇]:Python基础之函数 Pyhton开发[第五篇]:Python基础之杂货铺 Python开发[第六篇]:模块 Python开发[第七篇]:面向对象 Python开发[第八篇]:网络编程 Python开发[第九篇]:H…
From: https://www.cnblogs.com/yoyoketang/p/6539117.html 前言 获取页面title的方法可以直接用driver.title获取到,然后也可以把获取到的结果用做断言. 本篇介绍另外一种方法去判断页面title是否与期望结果一种,用到上一篇Selenium2+python自动化42-判断元素(expected_conditions) 提到的expected_conditions模块里的title_is和title_contains两种方法 一.源…
前言 经常有小伙伴问,如何判断一个元素是否存在,如何判断alert弹窗出来了,如何判断动态的元素等等一系列的判断,在selenium的expected_conditions模块收集了一系列的场景判断方法,这些方法是逢面试必考的!!! expected_conditions一般也简称EC,本篇先介绍下有哪些功能,后续更新中会单个去介绍.selenium+python高级教程>已出书:selenium webdriver基于Python源码案例 (购买此书送对应PDF版本)…
前言 不少小伙伴问非input标签如何上传文档,这个本身就是一坑,无奈很多小伙伴非要跳坑里去,那就介绍一个非主流的上传文件方法吧,用第三方库SendKeys. 只支持python2环境 python3 的用 PyUserInput 看这篇 selenium+python自动化85-python3.6上SendKeys报错用PyUserInput取代 一.SendKeys安装 1.pip安装SendKeys >pip install SendKeys 2.在安装的时候如果你出现上面保存,先别急着截…
前言 验证码这种问题是比较头疼的,对于验证码的处理,不要去想破解方法,这个验证码本来就是为了防止别人自动化登录的.如果你能破解,说明你们公司的验证码吗安全级别不高,那就需要提高级别了. 对于验证码,要么是让开发在测试环境弄个万能的验证码,如:1234,要么就是尽量绕过去,如本篇介绍的添加cookie的方法. 一.fiddler抓包 1.前一篇讲到,登录后会生成一个已登录状态的cookie,那么只需要直接把这个值添加到cookies里面就可以了. 2.可以先手动登录一次,然后抓取这个cookie,…