- 博客(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关注的人