07 2019 档案

摘要:form表单操作 账号: 密码: 性别: 男 女 爱好: 游泳 羽毛球 乒乓球 页面截图 阅读全文
posted @ 2019-07-28 23:38 Test挖掘者 阅读(334) 评论(0) 推荐(0) 编辑
摘要:monkey自定义脚本实践 一、获取元素坐标点位置 二、Monkey脚本API简介 常规Monkey测试执行的是随机的事件流,但如果只是想让Monkey测试某个特定场景这时候就需要用到自定义脚本了,Monkey支持执行用户自定义脚本的测试,用户只需要按照Monkey脚本的规范编写好脚本,存放到手机上 阅读全文
posted @ 2019-07-28 14:58 Test挖掘者 阅读(371) 评论(0) 推荐(0) 编辑
摘要:monkey 参数 1.常规类参数 A.帮助类参数 monkey -h B.日志级别 $ adb shell monkey -v <event-count> . 2.事件类参数 A .执行指定脚本 $ adb shell monkey -f <scriptfile> <event-count>例:  阅读全文
posted @ 2019-07-28 14:52 Test挖掘者 阅读(420) 评论(0) 推荐(0) 编辑
摘要:操作事件简介 Monkey所执行的随机事件流中包含11大事件,分别是触摸事件、手势事件、二指缩放事件、轨迹事件、屏幕旋转事件、基本导航事件、主要导航事件、系统按键事件、启动Activity事件、键盘事件、其他类型事件。Monkey通过这11大事件来模拟用户的常规操作,对手机App进行稳定性测试。下面 阅读全文
posted @ 2019-07-28 14:36 Test挖掘者 阅读(609) 评论(0) 推荐(0) 编辑
摘要:1.Monkey简介在Android的官方自动化测试领域有一只非常著名的“猴子”叫Monkey,这只“猴子”一旦启动,就会让被测的Android应用程序像猴子一样活蹦乱跳,到处乱跑。 人们常用这只“猴子”来对被测程序进行压力测试,检查和评估被测程序的稳定性。 官宣:Monkey是一个程序,运行在您的 阅读全文
posted @ 2019-07-28 14:34 Test挖掘者 阅读(477) 评论(0) 推荐(0) 编辑
摘要:1.Android 调试桥adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。 2.adb 的工作原理启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 阅读全文
posted @ 2019-07-28 14:20 Test挖掘者 阅读(880) 评论(0) 推荐(0) 编辑
摘要:# # 使用os模块操作目录和文件# # getcwd() 获取当前目录路径cwd = os.getcwd()print("当前目录:", cwd)# mkdir() 创建单级目录,如果目录已存在会报错os.mkdir('./temp')# rename() 重命名目录或文件os.rename('. 阅读全文
posted @ 2019-07-24 23:00 Test挖掘者 阅读(319) 评论(0) 推荐(0) 编辑
摘要:文件处理: 一、模式参数 t :文本模式 (默认)。 b :二进制模式。 + :打开一个文件进行更新(可读可写)。 r :以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 rb: 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 r+ :打开 阅读全文
posted @ 2019-07-24 22:59 Test挖掘者 阅读(207) 评论(0) 推荐(0) 编辑
摘要:1. 正则表达式基础 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的, 阅读全文
posted @ 2019-07-24 21:47 Test挖掘者 阅读(221) 评论(0) 推荐(0) 编辑
摘要:一、装饰器(Decorator) 装饰器本质上也是一个函数,它可以为已设计好的函数增加额外的功能。 装饰器的定义与普通函数的定义在形式上是类似的。 不同的是装饰器必须传入一个函数对象作为参数,然后在装饰器中重新定义一个新的函数。 在这个函数中执行新增的操作,并对应的位置调用被装饰的函数。最后返回这个 阅读全文
posted @ 2019-07-22 23:30 Test挖掘者 阅读(213) 评论(0) 推荐(0) 编辑
摘要:一、生成器(generator) 在Python中,使用了yield的函数被称为生成器。 生成器是一种特殊的迭代器,只能用于迭代操作。 生成器中保存的是算法,每次调用next(),就计算出下一个元素的值,直到计算到最后一个元素,没有更多元素时,抛出StopIteration异常。 不需要去创建一个完 阅读全文
posted @ 2019-07-22 23:25 Test挖掘者 阅读(213) 评论(0) 推荐(0) 编辑
摘要:一、迭代器(Iterator) 迭代器是一个可以记住遍历位置的对象。 它从集合的第一个元素开始,直到集合所有元素被访问完结束。 字符串、列表、字典、元组、集合都是可迭代的。(但不一定是迭代器) 迭代器有两个最基本的方法: iter() :用于创建迭代对象(创建后方可进行for...in ... 迭代 阅读全文
posted @ 2019-07-22 23:21 Test挖掘者 阅读(310) 评论(0) 推荐(0) 编辑
摘要:一、程序调试 A、使用assert语句检测程序代码中的错误。 assert 表达式[, 参数] 如果表达式为True,则继续往下运行;如果为False,则抛出一个AssertionError异常,并且输出asser语句的参数作为错误信息字符串。 B、使用日志模块logging打印跟踪信息,调试程序。 阅读全文
posted @ 2019-07-21 23:06 Test挖掘者 阅读(444) 评论(0) 推荐(0) 编辑
摘要:一、异常处理 针对在运行时可能会出错的语句块,可以提前设计好出现问题后的解决方案, 或者给出相应的提示信息。使用try…except语句来处理Python抛出的异常: 阅读全文
posted @ 2019-07-21 22:50 Test挖掘者 阅读(738) 评论(0) 推荐(0) 编辑
摘要:一、识别异常 程序中出现的错误又称为异常。异常通常分为两大类:编译错误和运行错误。 如下源码是已经修改: 阅读全文
posted @ 2019-07-21 22:48 Test挖掘者 阅读(446) 评论(0) 推荐(0) 编辑
摘要:1、时间戳 时间戳是指从格林威治时间1970年1月1日0时0分0秒(北京时间1970年1月1日8时0分0秒),起到当前时间的总秒数。 函数time.time()用于获取当前时间戳。 时间戳是以秒为单位的浮点数。适合用做日期和时间的加减运算。 例如,计算两个时间的间隔,可以先将两个时间转化为时间戳,再 阅读全文
posted @ 2019-07-21 20:58 Test挖掘者 阅读(792) 评论(0) 推荐(0) 编辑
摘要:一、模块 模块(Module)是由一组类、函数和变量组成的,模块文件的扩展名是.py或.pyc 在使用模块之前,需要先使用import语句导入这个模块。 语法格式如下: import 模块名 from 模块 import 方法(变量)名1...... from .... import 语句允许我们只 阅读全文
posted @ 2019-07-21 19:00 Test挖掘者 阅读(1032) 评论(0) 推荐(0) 编辑
摘要:一、继承 子类可以继承父类的所有公有成员,但不能直接访问父类的私有成员,只能通过父类的公有方法间接访问私有属性或私有方法。 如: class DerviedClassName(BaseClassName1[,BaseClassName2,......]): 语句1 语句2 ....... 语句N 公 阅读全文
posted @ 2019-07-21 15:35 Test挖掘者 阅读(1142) 评论(0) 推荐(0) 编辑
摘要:一、属性 对象的属性(attribute)也叫做数据成员(data member)。 如果想指向某个对象的属性,可以使用格式: object.attribute 属性又分为:私有属性和公有属性。 私有属性是以两个下划线开头(__),私有成员在类的外部不能直接访问。 Python提供了一种特殊方式来访 阅读全文
posted @ 2019-07-21 15:21 Test挖掘者 阅读(560) 评论(0) 推荐(0) 编辑
摘要:一、类 类是用来描述具有相同的属性和方法的对象的集合。 它定义了该集合中每个对象共同拥有的属性和方法。 类是一个独立的单位,它有一个类名,其内部包括成员变量和成员方法,分别用于描述对象的属性和行为。 定义类的语法: class ClassName: 语句1 语句2 ....... 语句N 类名的命名 阅读全文
posted @ 2019-07-21 15:14 Test挖掘者 阅读(439) 评论(0) 推荐(0) 编辑
摘要:一、函数概述 函数是一组已经定义好的,可以重复使用的代码,通过一个函数名封装起来,要想执行这个函数,只需要调用函数名即可 定义函数的语法: def 函数名([参数列表]): 语句块 【return [表达式]】 多个参数之间用逗号间隔,默认情况下,参数值和参数名称是按照函数声明去定义的顺序进行匹配的 阅读全文
posted @ 2019-07-20 14:59 Test挖掘者 阅读(347) 评论(0) 推荐(0) 编辑
摘要:一、顺序结构 顺序结构是python脚本程序中基础的结构,它是按照程序语句出现的先后顺序进行依次执行 二、选择结构 选择结构是通过判断某些特定的条件是否满足来决定程序语句的执行顺序 常见的有单分支选择结构、双分支选择结构、多分支以及嵌套选择结构 阅读全文
posted @ 2019-07-20 13:02 Test挖掘者 阅读(604) 评论(0) 推荐(0) 编辑
摘要:一、列表 列表表示一组有序的元素,这些元素可以是数字、字符串,也可以是另一个列表。 阅读全文
posted @ 2019-07-18 22:48 Test挖掘者 阅读(617) 评论(0) 推荐(0) 编辑
摘要:一、字符串的拼接 a.加号(+)拼接 str = “Hello” + “ “ + “python” + “!” # # 字符串的拼接:+、join函数、格式化# # +(加号) 将两个字符串连接起来,成为一个新的字符串str1 = "Hello"str2 = "python"str3 = "!"st 阅读全文
posted @ 2019-07-17 23:34 Test挖掘者 阅读(373) 评论(0) 推荐(0) 编辑
摘要:一、标识符与保留字 标识符用来识别变量、函数、类、模块及对象的名称,可以包含字母、数字、下划线。 (1)第一个字符必须是字母或下划线,并且名称中不能有空格。 (2)Python的标识符是区分大小写的。 (3)在Python3中,非ASCII标识符也是允许使用的。 (4)保留字不可以用作标识符。 保留 阅读全文
posted @ 2019-07-17 23:23 Test挖掘者 阅读(356) 评论(0) 推荐(0) 编辑
摘要:一、程序结构 • 定义python文件的头部模板:在File->Settings->Editor->File and Code Templates->Python script脚本里添加头部模板代码。 • Python使用相同的“缩进”来区分代码块,每一层向右缩进4个空格。 # 与其他常见的编程语言 阅读全文
posted @ 2019-07-17 23:18 Test挖掘者 阅读(674) 评论(0) 推荐(0) 编辑
摘要:前言: Python是一种面向对象的解释型编程语言。它是开源的、免费的、跨平台的。Python对新手非常友好、功能强大、高效灵活,并且提供了大量的程序模块。被广泛应用于Web编程、爬虫编写、数据分析、机器学习和人工智能等领域。 一、在Windows下安装Python 打开Python官网 https 阅读全文
posted @ 2019-07-17 22:58 Test挖掘者 阅读(195) 评论(0) 推荐(0) 编辑
摘要:此篇是以下面的test作为实战的 : Unittest方法 -- 项目实现自动发送邮件 1、test_01 阅读全文
posted @ 2019-07-14 11:28 Test挖掘者 阅读(534) 评论(0) 推荐(0) 编辑
摘要:import unittestimport HTMLTestRunnerimport osclass F11(unittest.TestCase): def test_001(self): self.assertEqual(1,1) def test_002(self): self.assertEq 阅读全文
posted @ 2019-07-14 11:21 Test挖掘者 阅读(528) 评论(0) 推荐(0) 编辑
摘要:"""断言详解"""from unittest_1.it import *def add(a,b): return a - bclass BaiduLink(Init): @unittest.skip("该功能已经取消,请忽略该条测试用例的执行") def test_baidu_news(self) 阅读全文
posted @ 2019-07-14 11:20 Test挖掘者 阅读(336) 评论(0) 推荐(0) 编辑
摘要:一、下面是it.py 脚本,把浏览器前置和后置条件分离了"""套件公用测试类可进行分离"""import unittestfrom selenium import webdriverclass Init(unittest.TestCase): def setUp(self): self.driver 阅读全文
posted @ 2019-07-14 11:18 Test挖掘者 阅读(373) 评论(0) 推荐(0) 编辑
摘要:TestSuite 测试固件 一、 阅读全文
posted @ 2019-07-14 11:10 Test挖掘者 阅读(684) 评论(0) 推荐(0) 编辑
摘要:import unittestfrom selenium import webdriverclass F4(unittest.TestCase): @classmethod def setUpClass(cls): cls.driver = webdriver.Chrome() cls.driver 阅读全文
posted @ 2019-07-14 11:08 Test挖掘者 阅读(581) 评论(0) 推荐(0) 编辑
摘要:前置和后置 1.setUp:在写测试用例的时候,每次操作其实都是基于打开浏览器输入对应网址这些操作,这个就是执行用例的前置条件。2.tearDown:执行完用例后,为了不影响下一次用例的执行,一般有个数据还原的过程,这就是执行用例的后置条件。 3.前置和后置都是非必要的条件,如果没有也可以写 pas 阅读全文
posted @ 2019-07-14 11:06 Test挖掘者 阅读(1468) 评论(0) 推荐(0) 编辑
摘要:第一、数据库基础 QQ 登录 注册 淘宝 京东 服务器数据库 查看历史订单 后台数据库中软件由代码写的,代码里面不可放数据库数据库存放数据,存放在文件中。管理该数据库的软件 DBMS 数据库管理系统 database数据库 表table行业中主流的数据库管理软件有甲骨文ORACLE收费高 政府 银行 阅读全文
posted @ 2019-07-13 23:31 Test挖掘者 阅读(334) 评论(0) 推荐(0) 编辑
摘要:创建联结:(使用WHERE联结)SELECTvend_name,prod_name,prod_priceFROMvendors,productsWHEREvendors.vend_id=products.vend_idORDERBYvend_name,prod_name;(保证所有联结都有WHERE 阅读全文
posted @ 2019-07-13 23:24 Test挖掘者 阅读(349) 评论(0) 推荐(0) 编辑
摘要:"""1.discover方法里面有三个参数:-case_dir:这个是待执行用例的目录。-pattern:这个是匹配脚本名称的规则,test*.py意思是匹配test开头的所有脚本。-top_level_dir:这个是顶层目录的名称,一般默认等于None就行了。2.discover加载到的用例是一 阅读全文
posted @ 2019-07-13 23:15 Test挖掘者 阅读(769) 评论(0) 推荐(0) 编辑
摘要:1 查看内存总数 cat /proc/meminfo | grep MemTotal 2.查看当前系统用户数 who 统计显示 7个用户 3.查看当前系统版本及系统位数 uname -a 4.查看当前系统引用的JDK 是否是自己安装的配置的jdk which java 5.查看系统端口是否被占用 n 阅读全文
posted @ 2019-07-11 23:18 Test挖掘者 阅读(470) 评论(0) 推荐(0) 编辑
摘要:获取token和code流程如下:a、先登陆抓包查看post(提交表单操作)头中是否有token和code关键字b、已知步骤a中出现了token和code,不登录前刷新登陆页面,查看response中是否有token和code关键字c、输入账号密码后查看登陆后的请求头中token和code是否与未登 阅读全文
posted @ 2019-07-09 22:37 Test挖掘者 阅读(7606) 评论(0) 推荐(0) 编辑
摘要:1、参照此篇流程 :Requsts方法 -- Blog流程类进行关联 2、用例接口目录如下: 3、用例代码如下: import requestsimport unittestfrom Request.Blog.API_Blog import Blog class Test_Blog(unittest 阅读全文
posted @ 2019-07-07 23:26 Test挖掘者 阅读(261) 评论(0) 推荐(0) 编辑
摘要:1、接口封装关联 1.有些接口经常会用到比如登录的接口,这时候我们可以每个接口都封装成一个方法,如:登录、保存草稿、发帖、删帖,这四个接口就可以写成四个方法2.接口封装好了后,后面我们写用例那就直接调用封装好的接口就行了,有些参数,可以参数化,如保存草稿的 title 和 body 两个参数是动态的 阅读全文
posted @ 2019-07-07 23:22 Test挖掘者 阅读(243) 评论(0) 推荐(0) 编辑
摘要:import requests#禁用安全请求警告from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.urllib3.disable_warnings(InsecureRequ 阅读全文
posted @ 2019-07-07 17:04 Test挖掘者 阅读(663) 评论(0) 推荐(0) 编辑
摘要:一、删除草稿箱1、参数这篇https://www.cnblogs.com/Teachertao/p/11144726.html 2、删除刚才保存的草稿 3、用 fiddler 抓包,抓到删除帖子的请求,从抓包结果可以看出,传的 json 参数是 postId 4、这个 postId 哪里来的呢?可以 阅读全文
posted @ 2019-07-07 16:27 Test挖掘者 阅读(365) 评论(0) 推荐(0) 编辑
摘要:一、重定向1. (Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置,从地址A跳转到地址 B 了。2.重定向状态码:--301 redirect: 301 代表永久性转移(Permanently Moved)--302 redirect: 302 代表暂时性转移(Tempora 阅读全文
posted @ 2019-07-07 16:23 Test挖掘者 阅读(8162) 评论(0) 推荐(1) 编辑
摘要:1、Json 简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式,常用于 http 请求中 2、可以用 help(json),查看对应的源码注释内容 Encoding basic Python object hierarchies::>>> imp 阅读全文
posted @ 2019-07-07 00:33 Test挖掘者 阅读(1840) 评论(0) 推荐(0) 编辑
摘要:import requests#禁用安全请求警告from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.urllib3.disable_warnings(InsecureRequ 阅读全文
posted @ 2019-07-07 00:15 Test挖掘者 阅读(1599) 评论(0) 推荐(0) 编辑
摘要:前言有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接)。获取不到也没关系,可以通过添加 cookie 的方式绕过验证码。 1、这里以登录博客园为例。 a、抓取登录的cookie,登录后会生成一个已登录状态的cookie,那么只需要把这个值 阅读全文
posted @ 2019-07-07 00:00 Test挖掘者 阅读(2244) 评论(0) 推荐(0) 编辑
摘要:1、登录Jenkins抓包 ,小编的Jenkins部署在Tomcat上,把Jenkins.war 包放置到webapps目录。 本次用浏览器自带抓包,按下F12操作,主要看post就可以,登录是向服务器提交表单操作,则为post请求如下: 2、body里面并不是json格式的,而是applicati 阅读全文
posted @ 2019-07-06 17:28 Test挖掘者 阅读(1694) 评论(0) 推荐(0) 编辑
摘要:常见的 post 提交数据类型有四种: 1.第一种:application/json:这是最常见的 json 格式,也是非常友好的深受小伙伴喜欢的一种,如下{"input1":"xxx","input2":"ooo","remember":false} json的数据在如下查看: 2.第二种:app 阅读全文
posted @ 2019-07-06 16:29 Test挖掘者 阅读(17224) 评论(0) 推荐(0) 编辑
摘要:转载于简书: 作者:熊师傅链接:https://www.jianshu.com/p/3fc3646fad80 1.以前的误解 很久之前就听说过长连接的说法,而且还知道HTTP1.0协议不支持长连接,从HTTP1.1协议以后,连接默认都是长连接。但终究觉得对于长连接一直懵懵懂懂的,有种抓不到关键点的感 阅读全文
posted @ 2019-07-05 23:36 Test挖掘者 阅读(1924) 评论(0) 推荐(0) 编辑
摘要:>>> import requests 导入requests库 >>> help(requests) #查看requests方法Help on package requests: NAME requests DESCRIPTION Requests HTTP Library ~~~~~~~~~~~~ 阅读全文
posted @ 2019-07-05 23:17 Test挖掘者 阅读(361) 评论(0) 推荐(0) 编辑
摘要:from urllib import request,parsefrom http.cookiejar import CookieJarheaders = { "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537 阅读全文
posted @ 2019-07-03 22:32 Test挖掘者 阅读(897) 评论(0) 推荐(0) 编辑
摘要:from urllib import request#headers 带cookieblog_url = "http://www.renren.com/452057374/profile?ref=page"headers = { "User-Agent":"Mozilla/5.0 (Windows 阅读全文
posted @ 2019-07-03 22:30 Test挖掘者 阅读(2216) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示