- 博客(60)
- 收藏
- 关注
原创 APP专项测试
1、安装、卸载与升级更新测试 2、耗电量和发热测试 3、流量测试 4、兼容性测试 5、弱网测试 6、中断测试 7、手势测试 8、权限测试 9、客户端性能 10、极限测试 11、体验测试 ...
2020-02-03 19:05:50
922
原创 java实现链表
链表分为arraylist和linklist 主要实现链表的建立,链表的输出,链表的查找,链表的插入,链表的删除功能 建立链表有头插法和尾插法 package wd; class LinkNode{ public LinkNode next; public int data; public LinkNode(int data) { this.data=data; } } cl...
2019-12-15 15:34:11
221
原创 Java实现队列
1.基于数组实现队列 注意:基于数组实现的队列会有假满的问题,可以使用循环队列解决 package wd; class queue{ public int front; public int rear; public String[] data; public queue() { data=new String[10]; front=0; rear=0; } publ...
2019-12-15 14:43:07
250
原创 java实现栈
1.实现顺序栈 package wd; class as{ public String data[]; public int top; public as() { data=new String[2]; top=-1; } //返回栈大小 public int length() { return top+1; } //判断栈空 public boolean ...
2019-10-22 22:29:54
195
原创 排序算法之堆排序
堆排序的思路:将待排序的数组先初始化为一个大顶堆或者小顶堆,交换第一个元素与最后一个元素,除去最后一个元素,重新构建大顶堆,然后交换第一个元素和倒数第二个元素。。。。 package wd; import java.util.Arrays; public class sortdui { public static void swap(int[] arr, int i, int j...
2019-10-19 15:40:19
146
原创 排序算法之快速排序
快速排序的思路: 选择第一个数为基准值,右边j先开始比较,如果找到比基准值小的数,则停下来,左边i开始比较,找到比基准值大的数,则停下来,两者交换,直到i和j相遇,交换基准值和相遇值,然后将数组根据基准值划分为两半 剩下的两部分,每部分重复上面的操作,直到数组有序 注意:必须是右边先开始比较 package wd; class hahae{ public void sortkuaisu...
2019-10-19 12:22:06
182
原创 排序算法之直接插入排序
直接插入排序的思路: 第一个数插入进去,自然有序 第二个数与第一个数比较,逆序则交换 第三个数与第二个数比较,逆序则交换,然后与第一个数比较,逆序则交换 。。。。 时间复杂度:o(N^2) 空间复杂度:o(1) 稳定性:稳定 package wd; class hahale{ public void sortcharu(int a[]) { for(int i=0;i<...
2019-10-19 11:57:26
240
1
原创 排序算法之冒泡
冒泡排序的思路:比较相邻的两个数,如果逆序,则交换,最终最大的数在最后一个位置 代码做了一点优化,加了一个flag,如果某趟所有相邻的数不需要交换。则表示所有数已经有序。排序提前结束。 时间复杂度:o(N^2)----最坏的情况 空间复杂度:o(1) 稳定性:稳定排序 package wd; class ha{ public void sortmaopao(int a[]) {...
2019-10-19 11:39:43
212
原创 排序算法之选择排序
选择排序的思路:依次选择最大,第二大,。。。。。的元素到数组的第一个,第二个。。。。。位置上 第一趟:第一个元素依次与后面每个元素比较,如果比第一个元素大,则交换 第二趟:第二个元素依次与后面每个元素比较,如果比第二个元素大,则交换 。。。 时间复杂度:o(N^2) 空间复杂度:o(1) 判断是不是稳定排序的依据是:相等的元素排序后,与之前的排列顺序相同 稳定性:不稳定 p...
2019-10-19 11:22:38
153
原创 web性能测试基础
和服务器有一次完整交互才会对系统产生压力,web性能测试应该分层来看: 1.客户端 2.接口层 3.数据库层 通常,对服务器端应用程序开展性能测试,是为了验证软件系统是否能够达到预期的性能指标,同时发现软件系统中存在的性能瓶颈,从而实现优化系统的目的。 根据不同的测试目的,性能测试可以分为多种类型,常见的有如下几类: 基准测试(Standard Testing) 负载测试(Lo...
2018-05-12 16:17:05
388
原创 爬虫之下载图片
import requests headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'} response=requests.get('https://timgsa.baidu....
2018-05-11 21:21:43
313
原创 python异常
1.抓取已知异常:try: a except NameError as e: print("catch Error:",e) 2.捕获所有异常:try: a except: print("catch Error") 3.处理多个异常:try: f=open('1.txt') line=f.read(2) num=int(l...
2018-05-10 20:39:37
465
原创 软件测试基础
1.软件测试阶段: 单元测试: 对软件中的最小测试单元进行检查和验证 原则:1.测试单元是独立的2.由开发人员来进行 益处:1.尽早发现缺陷2. 集成测试: 在单元测试的基础上,测试在将所有的软件单元按照系统规格说明组装成模块、子系统或系统的过程中各部分工作是否符合设计 分为: 系统测试: 在集成测试的基础上,作为计算机系统的一部分,与系统中的其他部分结合起来,在实际运行
2018-05-05 16:24:47
312
原创 可持续工具之JenKins
Jenkins 主要用于监视执行重复工作,如建立一个软件项目或工作运行的计划任务。 当前 Jenkins 关注以下两个工作: 1、不断地进行项目的构建/测试软件:就像 CruiseControl 或 DamageControl。概括地说,Jenkins提供了一个易于使用的所谓的持续集成系统,使开发人员更容易修改整合到项目中,并使它更容易为用户获得一个新的版本。自动连续生成提高了生产效率。 2
2018-04-25 21:18:29
202
原创 Page Object设计模式
Page Object设计模式的优点如下: 1、减少代码的重复 2、提高测试用例的可读性 3、提高测试用例的可维护性,特别是针对UI频繁变化的项目 from selenium import webdriver from selenium.webdriver.common.by import By from time import sleep class Page(object):
2018-04-23 21:08:38
948
原创 selenium Grid2
利用Selenium Grid可以在不同的主机上建立主节点(hub)和分支节点(node)。可以使主节点上的测试用例在不同分支节点上运行。对不同节点来说,可以搭建不同的测试环境(操作系统、浏览器),从而使一份测试用例得到不同环境下的执行结果。 Grid2不再提供单独的包,其功能已经集成到selenium server中,所以需要下载和运行selenium server 才可以使用Grid2的功能
2018-04-21 14:52:03
238
原创 多线程执行测试用例
from threading import Thread from selenium import webdriver from time import ctime, sleep def test_baidu(browser, search): print('start:%s' % ctime()) print('browser:%s,' % browser) if b
2018-04-19 22:35:17
1334
原创 基于python的多进程
来看一个多进程的例子: 进程间通信用到的两种方法:1.pipe 2.queue 1.pipe可以是单向,也可以是双向。 2.Queue类与Pipe相似,都是先进先出结构。但Queue类允许多个进程放入,多个进程从队列取出对象。
2018-04-19 22:13:06
232
原创 自动化测试之发送邮件
import smtplib from email.mime.text import MIMEText from email.header import Header smtpserver='mail.qq.com' user='475847@qq.com' password='1878943' sender='475847@qq.com' receiver='475847@qq.com' su
2018-04-19 18:32:47
1759
1
原创 unittest之生成测试报告
from selenium import webdriver from HTMLTestRunner import HTMLTestRunner import unittest import time class Baidu(unittest.TestCase): '''百度搜索测试''' def setUp(self): self.driver=webdri
2018-04-18 20:28:13
1561
原创 unittest之跳过测试和预期失败
跳过测试和预期失败 unittest.skip(reason) unittest.skipIf(condition,reason) unittest.skipUnless(condition,reason) unittest.expectedFailure() import unittest class MyTest(unittest.TestCase): def setU
2018-04-18 20:00:47
1192
原创 组织单元测试用例
calculator.py class Count: def __init__(self,a,b): self.a=int(a) self.b=int(b) def add(self): return self.a+self.b def sub(self): return self.a-self.
2018-04-17 20:53:16
454
原创 __init__.py的作用
从上边的例子可以看出,__init__.py的主要作用是: 1. Python中package的标识,不能删除 2. 定义__all__用来模糊导入 3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)
2018-04-17 20:41:55
230
原创 单元测试框架之unittest
单元测试框架的功能: 1.提供用例组织与执行 2.提供丰富的比较方法 3.提供丰富的日志 认识单元测试: calculator.py class Count: def __init__(self,a,b): self.a=int(a) self.b=int(b) def add(self): return
2018-04-16 22:12:48
281
原创 模块化驱动测试实例
from selenium import webdriver driver=webdriver.Firefox() driver.implicitly_wait(10) driver.get("http://www.126.com") def login(): driver.find_element_by_xpath("//input[@name='email']").clear()
2018-04-14 23:54:41
664
原创 自动化测试模型
1、线性测试 单纯的模拟用户完整的操作场景 优点:测试脚本独立且完整,可以单独执行 缺点:开发和维护成本很高 2、模块化驱动测试 将重复性功能独立出来,用到时调用即可 优点:提高了开发效率,简化了维护的复杂性 3、数据驱动测试 数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变 优点:实现了数据与脚本分离,进一步提高了脚本的复用性 4、关键字驱动测试 通过关键字的改变
2018-04-14 22:50:01
282
原创 webdriver之quit和close方法的区别
1. webDriver.Close() //关闭当前焦点所在的窗口 2. webDriver.Quit() //调用dispose方法 3. webDriver.Dispose() //关闭所有窗口,并且安全关闭session
2018-04-13 22:14:50
3496
原创 webdriver之操作滚动条
我们可以借助JavaScript来控制浏览器滚动条 webdriver提供了execute_script()方法来执行JavaScript代码 from selenium import webdriver from time import sleep driver=webdriver.Firefox() driver.get("http://www.baidu.com") driver.se
2018-04-13 21:38:17
1781
原创 webdriver之操作cookie
webdriver操作cookie的方法: 1.get_cookies(): 获得所有cookie信息。 2.get_cookie(name): 返回字典的key为“name”的cookie信息。 3.add_cookie(cookie_dict):
2018-04-13 21:31:21
1340
原创 webdriver之鼠标事件和键盘事件
鼠标事件 在使用鼠标操作方法需要导入ActionChains类 from selenium.webdriver.common.action_chains import ActionChains ActionChains类提供了鼠标操作的常用方法: perform(): 执行所有ActionChains中存储的行为 context_click():
2018-04-11 22:38:17
3131
原创 webdriver API总结
以下是webdriver API学习总结: 1.控制浏览器窗口大小 driver.set_window_size(480,800)2.控制浏览器后退、前进 driver.back() driver.forward() 3.模拟浏览器刷新 driver.refresh() 4.
2018-04-11 20:37:25
264
原创 selenium+python定位元素示例
# -*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By driver=webdriver.Firefox() driver.get("http://www.baidu.com") driver.find_element_by_id("kw").send_key
2018-04-10 20:36:53
317
原创 python中安装第三方库
在python中安装第三方库主要有以下两种方法: 1、在https://pypi.Python.org/pypi网站中搜索需要的包名 通过上面的地址下载压缩包后,解压得到相应文件夹。 进入解压缩目录,使用如下命令安装 2、python3.x版本已经带有pip工具了 pip是一个安装和管理python包的工具 可以使用pip安装第三方库
2018-04-10 19:49:51
329
原创 selenium1.0和2.0
selenium 1.0包括selenium IDE、selenium Grid、selenium RC selenium 2.0包括selenium IDE、selenium Grid、selenium webdriver selenium IDE是一个可以录制、回放元素的客户端软件 selenium Grid可以实现分布式运行测试用例即在很多机器上运行同一份测试用例 selenium ...
2018-04-10 19:27:56
270
原创 接口测试
接口分类:1、代码接口测试(模块间接口测试):例如:java中的interface接口2、协议间接口测试:协议是指通信双方实现相同功能的相应层之间的交往规则、例如:web测试中的http协议接口3、服务间接口测试:服务是一种应用程序类型,它在后台运行,服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如:webservice接口等下面主要讨论http协议接口:HTTP协议的接口分为get\...
2018-04-08 19:10:56
267
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅