自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Appium使用教程(七)——获取appPackage和appActivity

appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的。那如何快速的获取这APP的这两个参数呢?我这里介绍五个方法。  方法一(最简单有效的方法)通过cmd命令,前提是先打开手机中你要获取包名的APP1. adb shell2. dumpsys activity | grep mFocused...

2018-09-18 21:58:30 1161

转载 APP自动化——Appium 启动服务并连接模拟器和真机方案

如果你已经搭建好Appium的环境后,接下来想对一款APP的进行自动化测试的话。那么首先得让appium连接你的模拟器或者真机。才能开展测试。本文尝试用不同的方式搭建连接。以适应不同人群的选择。希望有一种方法能够适合你。1、Appium连接sdk中的模拟器了解android的人都在知道,android sdk中自带AVD Manager(Android Virtual Device Man...

2018-09-18 21:57:16 4447

转载 appium+Python真机运行测试demo的方法

appium+Python真机运行测试demo的方法 一,    打开手机的USB调试模式 二,    连接手机到电脑   将手机用数据线连接到电脑,并授权USB调试模式。查看连接的效果,在cmd下运行命令:adb devices查看UDID,如下图所示:如果有输出,就表示连接成功。 三,    启动Appium服务方法一:cmd命令行启动   根据查到...

2018-09-18 21:55:58 502

转载 python requests 获取,设置cookie

python requests 获取,设置cookie首先是有一个能返回cookie的url, 然后在获取, 如下:import requestsurl = "https://fanyi.baidu.com"res = requests.get(url)print res.cookiesprint type(res.cookies)获取cookies是通过response的...

2018-09-14 14:08:06 6181

转载 用appium爬取数据python3实现

一、前言 上一篇小说爬的是电脑端的静态网址,一直想爬手机端app数据的抓取,研究有好几天了,在网上也找了各种教程,差点挂在appium的环境安装。本编教程从appium的环境配置开始到抓取手机app微信朋友圈结束。 知乎:https://zhuanlan.zhihu.com/p/41311503 GitHub:https://github.com/FanShuixing/git_webspi...

2018-09-13 18:01:27 2001 3

转载 Appium+python自动化2-环境搭建(下)

前言    上一篇android测试开发环境已经准备好, 接下来就是appium的环境安装了。环境安装过程中切勿浮躁,按照步骤一个个来。     环境装好后,可以用真机连电脑,也可以用android-sdk里面的模拟器(当然这个模拟器不是很好用),我一般喜欢真机,真机比较快。 一、必备软件安装小编的环境是Windows 7版本 64位系统(32位的同学自己想办法哦)    1.jdk...

2018-09-13 17:53:00 184

转载 Appium+python自动化1-环境搭建(上)

前言   appium可以说是做app最火的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python。小编擅长Python,所以接下来的教程是appium+python的实例。 学习appium最大的难处在于环境的安装,80%的人死于环境安装,然后就没然后了,10%的人被环境折腾一周以上,只有剩下的10%人品好,可以顺利安装。  ...

2018-09-13 17:51:10 122

转载 Fiddler死活抓不了HTTPS包解决办法

本文转自韦玮老师的文章 附:原文地址 http://www.07net01.com/2016/12/1738252.html有些同学可能已经按照我们正常的流程在feiddler中设置好了https抓包,但死活抓不了。未设置的同学先按 https://ask.hellobi.com/blog/weiwei/5159 这篇文章进行设置,设置好后无法抓包请见如下解决步骤。(1)首先,看看火狐浏...

2018-09-13 10:55:17 1252

转载 selenium解决弹框

前言部分小伙伴学了selenium的alert后,就不管啥弹出框都去用alert,这是行不通的,看到弹出框,先要确定是不是alert,是才能用,不是的话肯定不能用。 有些弹出框是div层,这种跟平常定位方法一样 有些弹出框是嵌套的iframe层,这种切换iframe就可以了 有些弹出框比较坑,是嵌入的一个窗口,这就是本篇要讲的内容了。 遇到问题1.最近有小伙伴...

2018-09-12 14:00:23 1037

转载 Selenium元素定位的30种方式

 Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下。这里将统一使用百度首页(www.baidu.com)进行示例,f12可以查看具体前端代码。 WebDriver8种基本元素定位方式find_element_by_id()采用id属性进行定位。例如在...

2018-09-12 11:47:27 270

转载 selenium中使用阿布云代理

from selenium import webdriverimport stringimport zipfileimport os# 代理服务器proxyHost = "http-dyn.abuyun.com"proxyPort = "9020"# 代理隧道验证信息 使用自己的proxyUser = "H8S586W474G3FFFF"proxyPass = "F516...

2018-09-12 10:57:22 2473 1

转载 webdriver爬虫#document问题

如图,我们想获取#document下面body的内容。如果使用1.driver = webdriver.Chrome()2.driver.get(url)3.driver.find_element_by_xpath此时会发现#document下的body中的内容为空。document is a virtual element, which doesn't really ...

2018-09-12 10:09:06 1738

转载 python操作RabbitMQ(1)

RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。他遵循Mozilla Public License开源协议。MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消 息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调...

2018-09-10 16:47:04 310

原创 直接调用阿里云接口爬取数据

1、初次试探接到任务,要爬取阿里云上所有拍卖的域名。本想试试scrapy,查看了下网页源码,没有找到要爬取的内容。大网站就是不一样啊,数据隐藏的这么深。2、深入分析从源码没看出蛛丝马迹,习惯性地打开了Chrome的调试界面,看看我提交请求时到底干了些啥,果然,露馅了!原来域名列表是用js在前端渲染的,而不是在后端渲染的,用到了jsonp技术,用来解决Ajax跨域问题。点击sea...

2018-09-10 15:22:50 3982

转载 python操作MongoDB

下载python中MongoDB的驱动程序pip install pymongo然后确保MongoDB已经安装且可以正常运行,去官网下载相应版本:https://www.mongodb.com/mkdir -p /home/toolscd/home/toolswget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3...

2018-09-05 15:59:07 123

转载 MongoDB的用户创建更新及删除

 mongo -version :➜ ~ mongo -versionMongoDB shell version v3.4.2如何新建账号, 分配角色, 以及如何关联数据库如何启动mongo在之前的笔记中(mongodb的下载安装) 已经提到了, 下面说说如何以授权认证方式启动 在基本启动mongodb服务的命令上mongod --dbpath [数据存放path]...

2018-09-05 13:31:56 5021

转载 mongodb添加验证用户 删除用户

1、创建用户db.createUser({user:<name_string>,                   #字符串pwd:<password_string>,                 #字符串roles:[{role:<role_name>,db:<db_name>}]     #数组+对象})us...

2018-09-05 13:03:52 36827

转载 【MongoDB学习笔记】1:在Windows上的安装和配置

NOSQL就是Not Only SQL,MongoDB是一个很好的学习NOSQL的起点。下载可以在MongoDB官网选择Community Server版本下载,但是它似乎经常没有响应。可以在这里直接选择需要的版本下载,要在Windows下安装可以直接选msi安装文件。安装msi文件只记录一些需要操作的地方。  修改安装路径。  这个MSI文件有问题,这里必须不能改动,直接ne...

2018-09-05 09:38:10 115

转载 关于协程的问题总结

协程其实就是可以由程序自主控制的线程在python里主要由yield 和yield from 控制,可以通过生成者消费者例子来理解协程利用yield from 向生成器(协程)传送数据# 传统的生产者-消费者是一个线程写消息,一个线程取消息,通过锁机制控制队列和等待,但一不小心就可能死锁。# 如果改用协程,生产者生产消息后,直接通过yield跳转到消费者开始执行,待消费者执行完毕后,...

2018-09-04 10:36:19 571

原创 python里怎么实现多个协程一起执行,只要完成一个就返回一个协程

需要使用新的函数as_completed()来实现,可以把多个并发的协程一起给它,但它把返回的结果变成一个生成器,每次返回一个协程的结果,与函数wait()一样,执行协程是乱序的,不会等所有协程执行完成才返回。例子:import asyncioasync def phase(i): print('in phase {}'.format(i)) await asyncio...

2018-09-04 10:20:32 1497

转载 什么是猴子补丁(monkey patch)

monkey patch指的是在运行时动态替换,一般是在startup的时候.用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/socket等给替换掉.这样我们在后面使用socket的时候可以跟平常一样使用,无需修改任何代码,但是它变成非阻塞的了.之前做的一个游戏服务器,很多地方用的import json,后来发现ujson...

2018-09-01 16:51:00 323

转载 python3通过gevent.pool限制协程并发数量(模拟服务器和客户端)

协程虽然是轻量级的线程,但到达一定数量后,仍然会造成服务器崩溃出错。最好的方法通过限制协程并发数量来解决此类问题。server代码:#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Cain# @Email : 771535427@qq.com# @Filename : gevn...

2018-09-01 16:33:36 3278

原创 python中socket.shutdown的用法

直接看代码'''使用使用shutdown来关闭socket的功能SHUT_RDWR:关闭读写,即不可以使用send/write/recv/readSHUT_RD:关闭读,即不可以使用recv/readSHUT_WR:关闭写,即不可以使用send/write'''import sockets = socket.socket(socket.AF_INET,socket.SOCK_...

2018-09-01 16:14:45 9824

空空如也

空空如也

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

TA关注的人

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