- 博客(60)
- 收藏
- 关注
原创 APP专项测试
1、安装、卸载与升级更新测试2、耗电量和发热测试3、流量测试4、兼容性测试5、弱网测试6、中断测试7、手势测试8、权限测试9、客户端性能10、极限测试11、体验测试...
2020-02-03 19:05:50 842
原创 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 158
原创 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 169
原创 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 118
原创 排序算法之堆排序
堆排序的思路:将待排序的数组先初始化为一个大顶堆或者小顶堆,交换第一个元素与最后一个元素,除去最后一个元素,重新构建大顶堆,然后交换第一个元素和倒数第二个元素。。。。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 92
原创 排序算法之快速排序
快速排序的思路:选择第一个数为基准值,右边j先开始比较,如果找到比基准值小的数,则停下来,左边i开始比较,找到比基准值大的数,则停下来,两者交换,直到i和j相遇,交换基准值和相遇值,然后将数组根据基准值划分为两半剩下的两部分,每部分重复上面的操作,直到数组有序注意:必须是右边先开始比较package wd;class hahae{ public void sortkuaisu...
2019-10-19 12:22:06 120
原创 排序算法之直接插入排序
直接插入排序的思路:第一个数插入进去,自然有序第二个数与第一个数比较,逆序则交换第三个数与第二个数比较,逆序则交换,然后与第一个数比较,逆序则交换。。。。时间复杂度: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 168 1
原创 排序算法之冒泡
冒泡排序的思路:比较相邻的两个数,如果逆序,则交换,最终最大的数在最后一个位置代码做了一点优化,加了一个flag,如果某趟所有相邻的数不需要交换。则表示所有数已经有序。排序提前结束。时间复杂度:o(N^2)----最坏的情况空间复杂度:o(1)稳定性:稳定排序package wd;class ha{ public void sortmaopao(int a[]) {...
2019-10-19 11:39:43 135
原创 排序算法之选择排序
选择排序的思路:依次选择最大,第二大,。。。。。的元素到数组的第一个,第二个。。。。。位置上第一趟:第一个元素依次与后面每个元素比较,如果比第一个元素大,则交换第二趟:第二个元素依次与后面每个元素比较,如果比第二个元素大,则交换。。。时间复杂度:o(N^2)空间复杂度:o(1)判断是不是稳定排序的依据是:相等的元素排序后,与之前的排列顺序相同稳定性:不稳定p...
2019-10-19 11:22:38 96
原创 web性能测试基础
和服务器有一次完整交互才会对系统产生压力,web性能测试应该分层来看:1.客户端2.接口层3.数据库层通常,对服务器端应用程序开展性能测试,是为了验证软件系统是否能够达到预期的性能指标,同时发现软件系统中存在的性能瓶颈,从而实现优化系统的目的。根据不同的测试目的,性能测试可以分为多种类型,常见的有如下几类:基准测试(Standard Testing) 负载测试(Lo...
2018-05-12 16:17:05 317
原创 爬虫之下载图片
import requestsheaders={'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 247
原创 python异常
1.抓取已知异常:try: aexcept NameError as e: print("catch Error:",e) 2.捕获所有异常:try: aexcept: print("catch Error") 3.处理多个异常:try: f=open('1.txt') line=f.read(2) num=int(l...
2018-05-10 20:39:37 384
原创 软件测试基础
1.软件测试阶段:单元测试:对软件中的最小测试单元进行检查和验证原则:1.测试单元是独立的2.由开发人员来进行益处:1.尽早发现缺陷2.集成测试:在单元测试的基础上,测试在将所有的软件单元按照系统规格说明组装成模块、子系统或系统的过程中各部分工作是否符合设计分为:系统测试:在集成测试的基础上,作为计算机系统的一部分,与系统中的其他部分结合起来,在实际运行
2018-05-05 16:24:47 250
原创 可持续工具之JenKins
Jenkins 主要用于监视执行重复工作,如建立一个软件项目或工作运行的计划任务。当前 Jenkins 关注以下两个工作:1、不断地进行项目的构建/测试软件:就像 CruiseControl 或 DamageControl。概括地说,Jenkins提供了一个易于使用的所谓的持续集成系统,使开发人员更容易修改整合到项目中,并使它更容易为用户获得一个新的版本。自动连续生成提高了生产效率。2
2018-04-25 21:18:29 149
原创 Page Object设计模式
Page Object设计模式的优点如下:1、减少代码的重复2、提高测试用例的可读性3、提高测试用例的可维护性,特别是针对UI频繁变化的项目from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom time import sleepclass Page(object):
2018-04-23 21:08:38 858
原创 selenium Grid2
利用Selenium Grid可以在不同的主机上建立主节点(hub)和分支节点(node)。可以使主节点上的测试用例在不同分支节点上运行。对不同节点来说,可以搭建不同的测试环境(操作系统、浏览器),从而使一份测试用例得到不同环境下的执行结果。Grid2不再提供单独的包,其功能已经集成到selenium server中,所以需要下载和运行selenium server 才可以使用Grid2的功能
2018-04-21 14:52:03 179
原创 多线程执行测试用例
from threading import Threadfrom selenium import webdriverfrom time import ctime, sleepdef test_baidu(browser, search): print('start:%s' % ctime()) print('browser:%s,' % browser) if b
2018-04-19 22:35:17 1261
原创 基于python的多进程
来看一个多进程的例子:进程间通信用到的两种方法:1.pipe 2.queue1.pipe可以是单向,也可以是双向。2.Queue类与Pipe相似,都是先进先出结构。但Queue类允许多个进程放入,多个进程从队列取出对象。
2018-04-19 22:13:06 167
原创 自动化测试之发送邮件
import smtplibfrom email.mime.text import MIMETextfrom email.header import Headersmtpserver='mail.qq.com'user='475847@qq.com'password='1878943'sender='475847@qq.com'receiver='475847@qq.com'su
2018-04-19 18:32:47 1660 1
原创 unittest之生成测试报告
from selenium import webdriverfrom HTMLTestRunner import HTMLTestRunnerimport unittestimport timeclass Baidu(unittest.TestCase): '''百度搜索测试''' def setUp(self): self.driver=webdri
2018-04-18 20:28:13 1509
原创 unittest之跳过测试和预期失败
跳过测试和预期失败unittest.skip(reason)unittest.skipIf(condition,reason)unittest.skipUnless(condition,reason)unittest.expectedFailure()import unittestclass MyTest(unittest.TestCase): def setU
2018-04-18 20:00:47 1112
原创 组织单元测试用例
calculator.pyclass 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 375
原创 __init__.py的作用
从上边的例子可以看出,__init__.py的主要作用是:1. Python中package的标识,不能删除2. 定义__all__用来模糊导入3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单)
2018-04-17 20:41:55 167
原创 单元测试框架之unittest
单元测试框架的功能:1.提供用例组织与执行2.提供丰富的比较方法3.提供丰富的日志认识单元测试:calculator.pyclass Count: def __init__(self,a,b): self.a=int(a) self.b=int(b) def add(self): return
2018-04-16 22:12:48 221
原创 模块化驱动测试实例
from selenium import webdriverdriver=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 581
原创 自动化测试模型
1、线性测试单纯的模拟用户完整的操作场景优点:测试脚本独立且完整,可以单独执行缺点:开发和维护成本很高2、模块化驱动测试将重复性功能独立出来,用到时调用即可优点:提高了开发效率,简化了维护的复杂性3、数据驱动测试数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变优点:实现了数据与脚本分离,进一步提高了脚本的复用性4、关键字驱动测试通过关键字的改变
2018-04-14 22:50:01 224
原创 webdriver之quit和close方法的区别
1. webDriver.Close() //关闭当前焦点所在的窗口2. webDriver.Quit() //调用dispose方法3. webDriver.Dispose() //关闭所有窗口,并且安全关闭session
2018-04-13 22:14:50 3366
原创 webdriver之操作滚动条
我们可以借助JavaScript来控制浏览器滚动条webdriver提供了execute_script()方法来执行JavaScript代码from selenium import webdriverfrom time import sleepdriver=webdriver.Firefox()driver.get("http://www.baidu.com")driver.se
2018-04-13 21:38:17 1714
原创 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 1237
原创 webdriver之鼠标事件和键盘事件
鼠标事件在使用鼠标操作方法需要导入ActionChains类from selenium.webdriver.common.action_chains import ActionChainsActionChains类提供了鼠标操作的常用方法:perform(): 执行所有ActionChains中存储的行为context_click():
2018-04-11 22:38:17 2913
原创 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 209
原创 selenium+python定位元素示例
# -*- coding:utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Bydriver=webdriver.Firefox()driver.get("http://www.baidu.com")driver.find_element_by_id("kw").send_key
2018-04-10 20:36:53 272
原创 python中安装第三方库
在python中安装第三方库主要有以下两种方法:1、在https://pypi.Python.org/pypi网站中搜索需要的包名通过上面的地址下载压缩包后,解压得到相应文件夹。进入解压缩目录,使用如下命令安装2、python3.x版本已经带有pip工具了pip是一个安装和管理python包的工具可以使用pip安装第三方库
2018-04-10 19:49:51 267
原创 selenium1.0和2.0
selenium 1.0包括selenium IDE、selenium Grid、selenium RCselenium 2.0包括selenium IDE、selenium Grid、selenium webdriverselenium IDE是一个可以录制、回放元素的客户端软件selenium Grid可以实现分布式运行测试用例即在很多机器上运行同一份测试用例selenium ...
2018-04-10 19:27:56 210
原创 接口测试
接口分类:1、代码接口测试(模块间接口测试):例如:java中的interface接口2、协议间接口测试:协议是指通信双方实现相同功能的相应层之间的交往规则、例如:web测试中的http协议接口3、服务间接口测试:服务是一种应用程序类型,它在后台运行,服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如:webservice接口等下面主要讨论http协议接口:HTTP协议的接口分为get\...
2018-04-08 19:10:56 187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人