- 博客(47)
- 收藏
- 关注
原创 主流的移动端自动化工具
Robotium1.支持语言 java 2.仅支持Android系统3.不支持跨应用Macaca1.支持语言 java Python node.js2.支持安卓系统和苹果系统3.支持跨应用Appium1.支持语言 java,c#,python,php,perl,ruby,nodejs2.支持安卓系统和苹果系统3.支持跨应用自动化工具选择的关注点1.是否支持native,webview2.是否支持获取toast3.是否支持跨应用Appium-python
2022-05-05 21:28:54
539
原创 PO的模型
一. PO模型介绍 在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相 同),通常PO模型可以大大提高测试用例的维护效率优点:重用,业务和对象分离,代码结构清晰,方便代码维护PO的核心要素 1.在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性 2.每一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个方法 3.Test
2022-04-28 20:06:56
165
原创 web定位表单和脚本
1)什么是多表单?实际上就是使用iframe/frame,引用了其他页面的链接,真正的页面数据并没有出现在当前源码中,但是在浏览器中我们看到,简单理解可以使页面中开了一个窗口显示另一个页面2)处理方法 直接使用id值切换进表单 driver.switch_to.frame(value)/driver.switch_to_frame(value) 定位到表单元素,再切换进入 el = driv...
2022-04-26 21:59:14
206
原创 Web自动化测试进阶
Selenium自动化测试框架1.Selenium概述 2.Selenium IDE 3.Selenium API基础 4.Selenium API高级1.什么是框架? 框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给...
2022-04-25 23:05:40
125
原创 web自动化测试
自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。1.自动化测试的好处: 1)缩短测试周期计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。2)避免人为出错测试人员不可能持续高度集中,并且人
2022-04-24 21:49:07
215
原创 requests接口测试
requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到, Requests是Python语言的第三方的库,专门用于发送HTTP请求 在下面输入pip install requests GET无参请求r = requests.get('http://www.baidu.com')get有参请求payload = {'key1': 'value1', 'key2': 'value2', 'key3': None} r = requ..
2022-04-20 22:07:49
2439
1
原创 单元测试之pytest
前提:需要安装pytest和pytest-html(生成html测试报告)输入pip install pytest 和 pip install pytest-html 输入pip list查看
2022-04-20 07:57:34
120
原创 python单元测试之unittest
1.单元测试,集成测试,功能测试单元测试颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对软件中的最小可测试单元进行检查和验证 集成测试介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验证“设计”又验证“需求”。主要用来测试模板与模板之间的接口,同时还要测试一些主要的业务功能功能测试 颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求规格说明书什么是黑盒测试什么是白盒测试白盒:主要应用
2022-04-18 21:38:28
129
原创 Python面向对象3
私有权限:在属性名和方法名 前面 加上两个下划线 __类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问;类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问;私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用。封装的意义:将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;对类的属性和方法增加 访问权限控制。# 私有权限直接调用调用不了cla
2022-04-17 21:32:07
91
原创 Python的面向对象2
程序中的继承1.继承描述的是多个类之间的所属关系。如果一个类A里面的属性和方法可以复用,则可以通过继承的方式,传递到类B里。 那么类A就是基类,也叫做父类;类B就是派生类,也叫做子类。class A(object): def __init__(self): self.num=10 def print_num(self): print(self.num+10)class B(A): passb=B()print(b.num)b.print_
2022-04-16 16:53:42
100
原创 Python面向对象1
面向过程:优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象易维护、易复用、易扩展面向对象:优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护缺点:性能比面向过程低举个例子1.解决吃鸭子的问题(面向过程)1.养鸭子2.鸭子养成3.杀鸭子4.作料5.烹饪6
2022-04-14 20:55:32
505
原创 python的文件操作
1.文件的作用使用文件的目的:保存数据存放在磁盘 把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力 2.文件的打开与关闭步骤:新建 写入数据 关闭同样,在操作文件的整体过程与使用word编写一份简历的过程是很相似的 打开word软件,新建一个word文件 写入个人简历信息 保存文件 关闭word软件 结论:打开文件,或者新建立一个文件读/写数据关闭文件不同的打开文件的方式 .
2022-04-12 21:18:31
562
原创 Python函数
1.定义:在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数 2.函数的定义和调用def aaa(): return ("我右边是狗")print(aaa())结果:我右边是狗格式def hello(): print("hello word") hello()3.函数的参数思考:现在需要定义一个函数,这个函数能够完成2个数的加法运算,并且把结果打印出来,该怎样设计? 案例def.
2022-04-11 20:48:36
701
原创 Python的集合和函数
1.1集合的特征集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重 1.2集合的格式 变量名里面必须带有元素,不然是字典变量名=set(元素,元素)变量名={元素,元素,,,} 注意:下面写法为一个空字典,为空默认是字典,如果有数据在根据格式判断为字典还是集合name={} 1.添加 单词add添加案例a={11,12,13,14,15}a.add(17)print(a)结果:{11, 12, 13, 14, 15, 17}2.修改
2022-04-10 22:01:57
492
原创 Python的元组和字典
1.元组 Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。格式: 变量名=(,,,,)案例 aTuple=(23,35,56,34,11,21)1.1访问元组 通过索引取数据索引值存在aTuple=(23,35,56,34,11,21) print(aTuple[2]) 结果561.2查询个数count查询出现的个数aTuple=('b','c','d','e','f','g',"d")print(aTuple.count('
2022-04-09 18:13:01
507
原创 Python练习
01. 静态初始化一个空列表list,使用循环向列表中添加 1--10之间的所有整数; 02. 向01中创建的列表list中添加一个字符串“XuanGe” 03. 删除下标索引为0的元素 04. 将下标索引为1的元素改为66 05. 输出列表中的第3个元素list = []for i in range(1, 11): list.append(i)print(list)list.append("XuanGe")print(list)del list[0]print(list.
2022-04-08 22:45:03
97
原创 Phthon2
1.if判断语句的使用格式if要判断的条件:条件成立时,要做的事情注意:代码的缩进为一个tab键,或者四个空格 1.2if-else的使用格式if 要判断的条件: 条件成立时,要做的事情 else:条件不成立时,要做的事情1.3if-elif-else的使用格式 if 要判断的条件: 条件成立时,要做的事情 elif 要判断的条件: 条件成立时,要做的事情 else:条件不成立时,要做的事情 案例...
2022-04-07 17:03:30
70
原创 Python的基础语法
1.什么是编程语言 是用来定义计算机程序的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算 机发送指令,让计算机完成对应的工作。 简单来说,编程语言就是人类和计算机进行交流的语言 2.python发展的背景Python的作者,Guido von Rossum(吉多·范·罗苏姆,中国Python程序员都叫他 龟叔),荷兰 人。Python 本身也是由诸多其他语言发展而来的,Python目前有两个版本,Python2.x和Python3.x 3.:pytho
2022-04-06 20:01:05
84
原创 Jmeter2
jmeter 断言:响应断言(返回任何类型)postman断言:响应头,状态码,返回值包含字符串,响应结果是否相同, json值
2022-03-31 21:30:39
4429
原创 Jmeter的安装使用
1.jmeter的作用1.接口测试2.性能测试3.数据库测试2.安装java的环境1.配置jdk .配置环境变量2.打开此电脑点击属性3.在用户变量点击编辑.输入3.没有接口文档 可以使用抓包工具获取接口进行测试1.抓包工具的常见的操作 断点调试:修改数据请求:场景:注册后验证后端修改:场景:商品展示 验证前段弱网测试模拟网络宽带慢,APP是否能正常使用(奔溃,闪退,黑屏,报错)重定向 map localmock测试重点抓包工具 抓包
2022-03-30 21:28:47
4959
原创 Fiddler的操作
1.fiddler的原理 2.界面讲解工具栏区,请求列表区,响应列表区,命令行区配置完成后一定需要重新启动fiddler才能生效
2022-03-29 21:26:28
49
原创 Charles的操作
1:Charles的原理HTTPS抓包的原理还是挺简单的,简单来说, 截获真实客户端的HTTPS请求,伪装客户端向真实服务端发送HTTPS请求 接受真实服务器响应,用Charles自己的证书伪装服务端向真实客户端发送数据内容...
2022-03-28 15:46:25
186
原创 接口自动化测试 java的环境变量 jenkins的安装 charles的安装原理
1.新建 2.CLASSPATH 3.path4.验证 java -version1.安装kenkins 2.安装推荐的插件选着当前用户认证 点击受信任的根证书颁发机构输入 * *搜索东西 里面不乱码...
2022-03-27 18:31:33
4654
原创 postman接口断言和nodejs的安装
Tests响应断言的几种方式 (1)Status code:code is 200 (校验响应头是否包含某个值) (2)response body:contains string (校验返回结果中是否包含某个字符串) (3)response body:Json value check (校验返回结果中某个字段是否等于某个值)(4)response header:content-type header check (校验响应头是否包含某个值) (5)response time is les
2022-03-26 21:16:01
215
原创 接口和协议
1.什么是接口测试 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点, 然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互接口的分类: 1.webservice接口 2.http api接口 webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试 的时候都用通过工具才能进行调用,测试。 http api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-
2022-03-24 21:09:12
2381
原创 测试点总结
一、硬件测试点水杯/保温杯/电梯:功能,性能,界面,易用,安全分享/点赞/评论/上传/下载/搜索/购物车/支付等:功能,性能,界面,易用,安全,兼容性,中断,弱网微信发朋友圈功能:是否能编辑文字,不编辑文字能否发表;是否能艾特好友;是否能选择位置,不显示位置能不能发表;选择提醒谁看能不能超过十个,不选择能不能发表;选择公开是否所有好友都能看见;选择私密是否仅自己可见;选择部分可见是否能选择好友;选择不给谁看是否能选择好友;选择私密时是否还能选择提醒谁看;朋友圈是否能同步至QQ空间
2022-03-17 20:10:26
84
原创 接口与协议
• cd usr/ 切换到该目录下usr目录 • cd .. 切换到上一层目录• cd / 切换到系统根目录 • mkdir 目录名称 创建目录 • ls 目录名称 查询该目录下所有的目录和文件 • ls [-a] 目录名称 查询该目录下所有的目录和文件,包含隐藏文件 • ls [-l] 目录名称 查询该目录下所有的目录和文件的详细信息 • find / -name 目录名称 查找/root下的目录(文件) • mv 目录名称 新目录名称 修改目录名称 • mv 目录名称..
2022-03-16 20:23:38
92
原创 shell符号意思
1:变量的规则定义变量规则:变量名=值shell定义变量的规则:1:等号两边不能有空格 python age = 132:定义特殊的变量需要用单引号或者双引号结合3:定义linux命令需要用反单引号2:脚本的命名格式脚本名称使用.sh结尾3:脚本的起始行格式第一行必须写# !/bin/bash4:脚本输入输出格式1:输入语句用:read -p "描述"2:Shell输出值:echo $变量名-eq 比较是否相等-ne 比较不相等-gt 比较大于
2022-03-15 20:48:25
74
原创 Linux环境部署和项目构建
1)查看当前Linux系统是否已经安装java 输入 rpm -qa | grep java 2)卸载两个openJDK 输入rpm -e --nodeps 要卸载的软件 3)上传jdk到linux 4)安装jdk运行需要的插件yum install glibc.i686(选做) 5)解压jdk到/usr/local下 tar –xvf jdk-7u71-linux-i586.tar.gz –C /usr/local 6)配置jdk环境变量,打开/etc/profile配置文
2022-03-15 00:02:41
83
原创 linux 指令2
• 文件的打包 • tar -zcvf 文件名.tar 要打包的文件 • 文件的解压 • tar -xvf 文件名.tar • 扩充:将文件解压到固定位置 • tar -xvf 文件名.tar -C 指定解压的位置 • 查询当前所在位置 • pwd • 查看进程 • ps -ef | grep 进程名称(tomcat/mysql) • 杀死进程 • kill -9 进程pid• 查看端口号 • netstat -an | grep 端口号(3306) •
2022-03-13 21:27:59
840
原创 linux的基础操作
用户 root :管理员用户 非root: 只能在/home/用户目录下操作 permission denied没有权限------su root结构 etc:系统配置文件 usr:存放公共资源 home:存放每个用户的目录,该用户只能在自己用户目录下操作自动补全的快捷键目录(文件夹):存放目录/文件 进入:cd 目录名 cd / 进入根目录 cd ~ 进入当前用户目录 cd . 当前目录 cd .. ...
2022-03-10 20:05:18
64
原创 测试过程和测试报告
一、定义记录测试的过程和结果,对发现的问题和缺陷进行分析的文档。回归测试工作完成后,产品即将上线,此时每个测试人员都需要针对自己所测试的模块出具一份测试报告,以此来总结测试结果。测试报告可以说是软件测试人员在测试阶段的最后一份输出文档。二、分类阶段测试报告,整体测试报告三、报告内容1.编写目的①测试的目标(项目的介绍,对测试任务进行简单的描述)②测试依据(产品说明书PRD、需求文档等)③测试的范围(功能点业务的一些描述)④测试的环境(软件和硬件环境)包括CPU、服务器、内存、操作系统
2022-03-09 21:32:04
4665
原创 SQl语句练习
CREATE DATABASE zy CHARACTER SET utf8;USE zyCREATE TABLE teachar(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(255),score INT,address VARCHAR(255),usermail VARCHAR(255))INSERT INTO teachar VALUES(NULL,'张三',88,'北京','111111111@qq.com'),...
2022-03-07 21:29:40
176
原创 sql语句基本操作
-- 创建数据库CREATE DATABASE 2105a;-- 查询创建表语句SHOW CREATE DATABASE 2105a;-- 创建表CREATE TABLE stu (id int,`name` VARCHAR(255),age int(11),sex VARCHAR(255))-- 删除表DROP TABLE ssss;-- 删除库DROP DATABASE bbb;-- 查看所有的表SHOW TABLES;-- 查询创建表语句SHO...
2022-03-04 21:28:43
417
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人