- 博客(53)
- 收藏
- 关注
原创 app端自动化POM(07)
POM及POM设计原理POM(page object model)页面对象模型,主要应用于UI自动化测试框架的搭建,主流设计模式之一,页面对象模型:结合面向对象编程思路:把项目的每个页面当做一个对象进行编程非模型操作:po模型操作:测试页面:引入yuml文件调用yaml文件,需要导入pip install pyYAML创建common--read-yaml.py...
2022-01-15 18:40:03
578
原创 APP元素定位API操作(06)
手机控件查看工具uiautomatorviewer使用:1.进入SDK目录下的tools目录,打开uiautomatorviewer2.电脑连接真机或打开android模拟器点击同步虚拟机页面APP元素定位操作通过class方式定位一组元素WebDriverWait 显示等待操作在一个超时范围内,每隔一段时间去搜索一次元素是否存在,如果存在返回定位对象,如果不存在直到超市时间到达,报超市异常错误需要导入:from selenium.webdriver.suppo...
2022-01-14 19:30:24
2185
原创 monkey命令(5)
adb shell monkey 150 执行monkey测试150次adb shell monkey -p 包名 100 指定某个文件执行100次显示日志详细程度 分为 -v -v-v -v-v-v将log信息写到本地adb shell monkey 100 >路径-s 随机数种子monkey测试1:adb shell monkey –s 10 100monkey测试2:adb shell monkey –s 10 100如果两个命令相同,则两次mo.
2022-01-13 19:38:40
8732
2
原创 云测试Testin(day04)
进行真机测试,添加任务,点击开始,测试完成之后点击下载测试报告可以查看所以手机的类型,屏幕大小还有系统下载测试报告可以查看:
2022-01-12 20:44:02
229
原创 移动端测试(day04)
手机端常规测试手机端常规测试对于手机端测试,按照平台来分,分为Android和IOS两大主流系统对于ios和Android,二者有区别,我就说一下我在测试这两款手机app的感受吧1、两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。 2、两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有 内存才会关闭。 3、IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。 Android开源导致碎片化比较严重,(手机品牌
2022-01-12 16:19:12
63
原创 PO模型(21)
在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相同),通常PO模型可以大大提高测试用例的维护效率优点:重用,业务和对象分离,代码结构清晰,方便代码维护PO的核心要素1.在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性2.每一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个方法3.TestCase继承unittest.Testc
2022-01-11 18:40:57
120
原创 Web自动化测试进阶(19)
Selenium自动化测试框架框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。Selenium IDESelenium API基础:3)浏览器尺寸相关操作maximize_window() 最大化get_..
2022-01-10 21:30:20
61
原创 Selenium API高级(20)
多表单切换在网页中,表单嵌套是很常见的情况,尤其是在登录的场景自动弹框确定:鼠标和键盘操作 1)键盘操作 * 常用键盘操作 send_keys(Keys.CONTROL,‘a’) 全选(Ctrl+A) send_keys(Keys.CONTROL,‘x’) 剪切(Ctrl+X) sen...
2022-01-10 21:18:17
7539
原创 web端自动化基础(18)
自动化测试的好处 1)缩短测试周期 计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去 做,加快测试速度。 2)避免人为出错 测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误 3)测试信息存储 自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便 4)轻易获取覆盖率 自动化测试能够解放测试人员,使测试人员能够有更多的精力做那些非重复性的工作。 5)其他自动化测试可以是实现
2022-01-06 20:22:54
973
原创 Ant自动化测试(17)
搭建JMeter+Jenkins+Ant持续化打开持续集成:Test2:找到Test中的ant文件夹下的如下路径3:配置环境变量在环境变量中系统变量新增ANT_HOME:为 ant解压位置CLASSPATH为 %ANT_HOME%\lib;PATH为%ANT_HOME%\bin4:验证ant是否安装成功,如下显示的为成功5:配置库文件将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到...
2022-01-05 16:50:30
750
原创 request接口测试(16)
requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到, Requests是Python语言的第三方的库,专门用于发送HTTP请求 get的请求post请求生成测试报告:存储数据(csv)读取csv文件内容:存储数据(xlsx)读取数据(readDemo)pytest断言设置并结合allure生成测试报告 ...
2022-01-04 20:06:10
573
原创 单元测试之pytest(15)
前提:需要安装pytest和pytest-html(生成html测试报告)pip install pytest 和 pip install pytest-html命名规则Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest更加严谨unittest:Setup>> setupclass , teardown >> teardownclassPytest: setup, setup_class和teardo
2021-12-31 16:11:49
88
原创 面向对象(私有属性,私有方法)13
私有权限封装的意义: 将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;对类的属性和方法增加 访问权限控制。私有权限:在属性名和方法名 前面 加上两个下划线 __类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问;类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问;私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用。私有属性和私有方法都是不能被使用
2021-12-30 21:17:13
573
原创 python单元测试之unittest(14)
单元测试,集成测试,功能测试单元测试颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对软件中的最小可测试单元进行检查和验证集成测试介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验证“设计”又验证“需求”。主要用来测试模板与模板之间的接口,同时还要测试一些主要的业务功能。功能测试颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求规格说明书Unittest重要组成unittest中最核心的部.
2021-12-30 20:47:00
74
原创 python面向对象(12)
面向对象的介绍面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑。定义类:创建对象:添加和获取对象的属性在方法内通过self获取对象属性魔法方法__init__作业:...
2021-12-27 21:30:45
386
原创 python模块(11)
Python 模块(Module),是一个Python文件,以.py 结尾,包含了Python 对象定义和Python语句简单的模块:模块的引入import模块定义好后,我们可以使用 import 语句来引入模块导入python中的模块os/math 代码:开平方根from…import 语句 Python 的 from 语句让你从模块中导入一个指定的部分到当前命名空间中from…import * 语句把一个模块的所有内容全都导入到当前的命...
2021-12-25 16:18:46
306
原创 python文件和异常处理(10)
打开文件在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访 问模式)写数据(write)读数据(read)读取指定长度的数据(单位是字节),最多读取5个数据读数据(readlines)就像read没有参数时一样,readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返 回的是一个列表,其中每一行的数据为一个元素读数据(readline) readline可以按...
2021-12-24 17:45:18
150
原创 python集合和函数(9)
集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。定义一个空集合 set1 = set() 注意以下写法为一个空字典,为空默认是字典,如果有数据在根据格式判断 set2 = {}添加元素(add,update)删除元素(remove,pop,discard)remove:使用remove删除集合中的元素 如果有 直接删除 如果没有 程序报错pop:使用pop删除是随机删除集合中的元素 如果set1没有元素讲程序报错d...
2021-12-23 19:24:51
635
原创 python字典(8)
软件开发中的字典 变量info为字典类型: info = {'name':'班长', 'id':100, 'sex':'f', 'address':'地球亚洲中国北京'} 说明:'name':'班长'----> 键值对 字典和列表一样,也能够存储多个数据 列表中找某个元素时,是根据下标进行的 字典中找某个元素时,是根据'名字'(就是冒号:前面的那个值,例如上面代码中的'name'、'id'、'sex') 字典的每个元素由2部分组成,键(key):值(value)。例如 'nam..
2021-12-22 15:27:30
155
原创 python元组(8)
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。修改元组python中不允许修改元组的数据,包括不能删除其中的元素。元组的内置函数count, index index和count与字符串和列表中的用法相同类型转换 列表转换元组 ,list= [1,2,3,4,5] >>tuple(list)...
2021-12-22 15:00:31
401
原创 python字符串(7)
字符串的输出字符串输入下标如果想取出部分字符,那么可以通过下标的方法, (注意python中下标从 0 开始)练一练: 模拟情景myname = “dujunyan” 1. 取myname字符串的第1个元素,并输出 2. 取myname字符串的第5个元素,并输出3. 取myname字符串的最后一个元素,并输出 4. 取myname字符串的倒数第二个元素,并输出切片切片是指对操作的对象截取其中一部分的操作。 字符串、列表、元组都支持切片...
2021-12-21 16:28:44
1235
原创 python列表介绍以及常见操作(7)
列表的循环遍历1. 使用for循环 为了更有效率的输出列表的每个数据,可以使用循环来完成demo: namesList = ['xiaoWang','xiaoZhang','xiaoHua'] for name in namesList: print(name)结果: xiaoWang xiaoZhang xiaoHua列表的相关操作列表中存放的数据是可以进行修改的,比如"增"、"删"、"改"、"查" <1>添加元素...
2021-12-21 16:02:43
267
原创 python判断语法(6)
if判断语句:if语句是用来进行判断的,其使用格式如下: if 要判断的条件: 条件成立时,要做的事情案例:从键盘获取自己的年龄,判断是否大于或者等于18岁,如果满足就输出“哥,已成年,终于可以执剑走天涯了”if-else语句:案例:从键盘输入身高,如果身高没有超过150cm,则进动物园不用买票,否则需要买票elif的功能:说明: 当1满足时,执行事情1,然后整个if结束当1不满足时,那么判断2,如果2满足,则执...
2021-12-20 16:24:00
2052
原创 python基础循环语句(6)
while循环:小总结: 1. while和if的用法基本类似, 区别在于:if 条件成立,则执行一次; while 条件成立,则重复执行,直到条件不成立为止案例:使用while循环输出10遍,我爱你中国,我爱你母亲!!!while循环的应用计算1--100之间的整数和(包含1和100)计算1--100之间的偶数和(包含1和100)计算1--100之间的奇数和(包含1和100)使用while循环实现三角形:python代码实现九九乘法表,...
2021-12-20 16:01:54
808
原创 python基础(5)
运行Python输入:print("hello world") 命令行脚本python hello.py变量的定义 age = 18 print(type(age)) python中的关键字 输入:import keyword print(keyword.kwlist)python的输入和输出格式化输出 方式一:使用百分号(%)字符串格式化 方式二:使用format字符串格式化 方式三:通过数字可以调换顺序...
2021-12-18 17:08:21
300
原创 jmeter压力测试(4)
Jmeter数据库压力测试 1、启动jmeter,打开界面工具,添加一个线程组,添加驱动 2、添加一个JDBC Connection Configuration,连接池配置文件。右键线程组【添加】--【配置元件】- -【JDBC Connection Configuration】3、右键线程组【添加】-【Sampler】-【JDBC Request】Csv批量执行点击JDBC Connection Configuration修改成连接mysql的...
2021-12-17 17:39:17
761
原创 postman和jmeter区别(03)
postman断言方式:jmeter断言方式:json断言:在里面输入$.字段名,然后在下面输入字段结果响应断言:在响应断言里面添加输入不包含的数字或文字Xpath断言:添加输入格式://*[@id='kw1'],输入里面字段所对应的值postman的批量测试接口编写.txt文件,设置断言,在postman里面右键Run运行,然后点击Data选择文件,选择text/csv格式运行jmeter请求参数化创建.txt或者.csv文件按,在jmeter...
2021-12-16 21:25:11
358
原创 Jmeter(day03)
用户自定义变量 操作:线程组>>配置原件>>用户定义的变量请求元件之参数化txt 操作:线程组>>配置原件>>CSV数据文件设置 请求元件之参数化csv操作:线程组>>配置原件>>CSV数据文件设置 函数助手 操作:选项>>函数注释对话框>>_CsvRead CMD命令生成测试报告 命令:jmeter -n -...
2021-12-16 19:00:10
155
原创 Jmeter功能(02)
线程组:1.在测试计划>>添加>>Threads>>线程组 sampler(采样器)操作:在线程组>>添加>>sampler>>http请求(常用) 监听器:操作:在线程组>>添加>>监听器>>聚合报告/查看结果树 jmeter组件描述断言 1.响应断言 操作:在线程组>>添加>>断言>>响应断言 ...
2021-12-15 19:50:50
49
原创 Shell脚本(17)
1:输入语句用:read -p "描述" 2:Shell输出值:echo $变量名 比较运算符和逻辑运算符比较运算符(数字):-eq 比较是否相等 -ne 比较不相等 -gt 比较大于 -ge 比较大于等于 -lt 比较小于 -le 比较小于等于比较运算符(字符串)== 比较是否相等 != 比较不相等 加一操作:((i++)) ((i+=1)) 加n操作:s=$(($s+$i)) s=$[$s+$i] ((s=$s+$i)) 逻.
2021-12-10 19:30:24
283
原创 Linux上安装mysql,tomcat,jdk(16)
1.压缩文件是放在jack目录下的2.在usr/local里面创建 : jdk tomcat mysql3.在/etc/profile里面添加环境变量4.不管用的话 从新加载配置文件source/etc/profile5.输入 java-version 验证是否出现版本3.开发端口号80804:保存到防火墙3.安装客户端rpm-ivh MySQL-cl rpm-ivh MySQL-serv启动mysql输入密码修改mysql密码退出...
2021-12-09 20:38:06
590
原创 Linux命令(day15)
permission denied 没有权限cd / 进入根目录cd ~ 进入自己的用户mkdir aaa/touch bbb 创建目录mv aaa/ abc 修改目录名mv aaa abc/ 剪切到abc下cp -r aaa/ abc 拷贝到abc下rm -rf aaa/ 删除目录ls ll 查看ls -a 查看隐藏文件cd ../ 返回上一级pwd 显示当前目录下的绝对路径f...
2021-12-08 19:56:42
253
原创 Filder的功能(day14)
界面讲解工具栏区,请求列表区,响应列表区,命令行区web端抓包fiddler的基本配置(获取https协议接口)在Tools中点击Options,选择connectons(监听端口,和允许连接)在Tools中点击Options,选择HTTPS中勾选如下的选项配置完成后一定需要重新启动fiddler的常用功能修改数据方式1:在Rules>>Automatic Breakpoints选择Break Re...
2021-12-07 21:12:09
332
原创 charles抓包(13)
charles抓取web端httpsa.安装证书下载并将证书添加为受信任的根证书并进行安装给ssl代理设置中进行添加https协议2.抓取移动端的htpps1.保证pc端和移动端在同一网络下2.pc进行安装证书3.去移动端进行设置代理服务5.Pc端会弹4.打开移动端默认的浏览器输入 chls.pro/ssl 网址 会自动下载并安装证书...
2021-12-07 16:53:38
136
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人