- 博客(71)
- 收藏
- 关注
原创 测试计划,测试用例,缺陷报告,测试报告模板包括哪些
测试用例用例标题,用例编号,所属模块,前置条件,输入数据,操作步骤,预期结果,实际结果测试计划测试目的,测试背景,测试范围,测试方法,测试资源,测试进程,人员安排,工期评定风险评估,时间安排风险评估:1.测试人员对产品的熟悉进度慢;2.对测试工具的使用熟悉程度不够;3.测试产品存在重大错误,以致于测试无法继续;4.测试人员的需求与开发人员产生分歧;5.测试人员与开发人员的协调与沟通6.硬件、软件或网络环境出现故障等;缺陷报告缺陷编号,缺陷标题,缺陷状态,缺
2021-11-05 16:52:52
358
原创 Shell脚本中的if循环、while循环、for循环、case循环语句、函数、比较运算符
定义变量规则 : 变量名=值 shell定义变量的规则: 1:等号两边不能有空格 2:定义特殊的变量需要用单引号或者双引号结合 3:定义linux命令需要用反单引号 区分单引号和双引号的不同和相同点 ...
2021-11-04 12:46:45
424
原创 RobotFramework表单跳转、DOS下执行RF脚本、RF+jenkins持续集成
表单跳转 https://qzone.qq.com/ 登录qq邮箱>>跳转表单>>填充用户密码>>主界面操作Select Frame:选择表单 DOS下执行RF脚本 1:找到python中的Scripts目录,新建一个pybot.bat文件 2:在pybot.bat文件中添加下面的命令3:在dos窗口输入命令执行执行整个项目下的所有用例: pybot 项目路径 比如我的 :pybot E:\...
2021-11-03 18:25:54
661
原创 RobotFrameworkUI自动化测试和xpath、css元素定位方式
1:通过pip安装扩展库:pip install robotframework-seleniumlibrary==3.0.0 2:下载谷歌游览器和对应驱动 放在python将游览器驱动放在python的目录下https://www.cnblogs.com/loved-wangwei/p/8993013.html 比如我的E:\software\python3:导入SeleniumLibrary扩展库1:打开游览器(访...
2021-11-02 19:35:25
328
原创 RobotFramework的简单操作和关键字
RobotFramework的简介和特点RF是一个基于Python语言开发的,可扩展的,是以关键字驱动模式的自动化测试框架,RF最新的版本是2019 年7月份发布,7月份之前只支持python2.7,7月之后支持3.X的版本 补充:关键字驱动和数据驱动的区别? 关键字驱动:把项目中的一些逻辑封装成关键字(一个函数名),login,register,调用不同的关键字组合实 现不同的业务逻辑,从而驱动测试用例执行。 数据驱动:把测试用例里面的数据提取到excel或者yaml文
2021-11-01 18:08:27
657
原创 Po模型实现unittes、pytest生成测试报告,数据驱动
Po模型实现unttest生成测试报告1.basepage(封装公共的属性和行为) class BasePages: def __init__(self, driver): self.driver = driver # 元素定位 def locator(self,*loc): return self.driver.find_element(*loc) # 清空 def clear(self,*loc): self
2021-10-30 19:25:40
497
原创 APP模拟手势高级操作
TouchAction是AppiumDriver的辅助类,主要针对手势操作,比如滑动、长按、拖动等, 原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。手指按下from appium import webdriverimport timefrom appium.webdriver.common.touch_action import TouchActioncaps = {}caps["platformName"] = "Android..
2021-10-28 17:14:51
328
原创 移动端APP元素事件操作API
.获取元素在屏幕上的坐标 方法:location获取app包名和启动名 获取包名方法:current_package 获取启动名:current_activity#定位蓝牙ly = driver.find_element_by_xpath("//*[contains(@text,'蓝牙')]")#获取元素的属性值print(ly.get_attribute("displayed"))#获取元素在屏幕上的坐标print(ly.location)#获取app包名和启动.
2021-10-28 16:50:32
160
原创 移动端App基础操作API
Appium环境搭建将node安装的路径添加到 path中Appium命令行安装方式 出现版本安装成功# server 启动参数查询当前应用程序的包名和启动项获取系统版本对应的参数启动连接连接成功进行元素的操作录制脚本点击搜索...
2021-10-27 16:39:24
320
原创 Monkey测试
参考资料http://blog.youkuaiyun.com/jlminghui/article/details/38238443Monkey用来做什么Monkey 主要用于Android的稳定性测试,自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash(崩溃). Monkey程序介绍(1) Monkey程序由Android系统自带,使用Java语言写成,在Android文件系统中的存放路径是: /system/framework/monkey.jar; (...
2021-10-26 18:22:16
125
原创 ADB命令基本操作
配置ADB环境变量1.1:在系统变量中新建ANDROID_HOME变量,赋值路径(D:\install\androidSDK)2:在系统变量path中添加%ANDROID_HOME%\platform-tools3. 验证adb配置是否成功ADB常用指令adb devices 查看当前连接的设备开启服务adb start-server关闭服务adb kill-server安装软件:adb install apk...
2021-10-25 17:26:14
1351
原创 PO模型生成单元测试是报告
介绍在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相同),通常PO模型可以大大提高测试用例的维护效率优点:重用,业务和对象分离,代码结构清晰,方便代码维护PO的核心要素1.在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性2.每一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个方法3.TestCase继承unit.
2021-10-22 14:23:22
449
原创 Selenium自动化 API高级加入购车
from selenium import webdriver#导入seleniumfrom time import sleep#设置延迟的时间driver = webdriver.Firefox()driver.get("https://www.baidu.com/") #获取网址index1 = driver.current_window_handle #当前窗口句柄,即baidu页面的句柄sleep(2)# driver.switch_to.window(index1) # 切换回第.
2021-10-19 21:11:56
134
原创 Selenium自动化 API操作
1)获取所有窗口的句柄 handles = driver. window_handles 调用该方法会得到一个列表,在selenium运行过程中的每一个窗口都有一个对应的值存放在里面。2)通过窗口的句柄进入的窗口driver.switch_to.window(handles[n])58同城租房信息:http://bj.58.comfrom selenium import webdriver#导入seleniumdriver = webdriver...
2021-10-18 19:01:41
688
3
原创 Selenium自动化测试框架
访问浏览器from selenium import webdriver #导入包driver = webdriver.Firefox()#调用火狐浏览器driver.get("https://www.baidu.com/") #访问网址最大化from selenium import webdriver #导入包driver = webdriver.Firefox()#调用火狐浏览器driver.get("https://www.baidu.com/") #...
2021-10-15 16:55:40
460
原创 Web端自动化测试
为什么进行自动化测试.自动化测试的好处: 1)缩短测试周期 计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。 2)避免人为出错 测试人员不可能持续高度集中,并且人类易受外界影响(头疼脑热,精神不振),可能会造成人为错误 3)测试信息存储 自动化测试将测试信息和数据储存在文件中,思路清晰明确,交接方便自动化测试的分类性能测...
2021-10-14 18:31:14
6570
原创 搭建JMeter+Jenkins+Tomcat生成测试报告
Tomcat的安装与环境变量配置解压的路径E:\software\cxjc\apache-tomcat-8.5.50环境变量的配置右击“我的电脑”>>选择“属性”>>单击左侧栏“高级系统设置”>>“高级”>>“环境变量”1.新建CATALINA_HOME变量变量名:CATALINA_HOME变量值:解压后tomcat路径2将tomcat中的bin添加到path中开启tomca...
2021-10-13 15:52:35
141
原创 搭建JMeter+Ant持续化
1:打开Test文件夹2:找到Test中的ant文件夹下的如下路径3:配置环境变量在环境变量中系统变量新增ANT_HOME: 为 ant解压位置 CLASSPATH为 %ANT_HOME%\lib;PATH为%ANT_HOME%\bin4:验证ant是否安装成功,如下显示的为成功5:配置库文件将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中,注...
2021-10-12 21:10:19
162
原创 pytest+allure requests请求读取csv和excle生成测试报告
介绍requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求安装request的模块pip install requestsget请求和post请求r.status_code 响应状态码r.heards 响应头r.cookies 响应cookiesr.text ...
2021-10-11 17:10:31
513
原创 通过读取csv/xmladd()reduct()数据并使用allure展示测试报告
读取xml生成测试报告开发的模块class Kf(object): #相加 def add(self,a,b): c = a + b return c #相减 def reduct(self,a,b): c = a - b return c准备数据<gen> <add> <add1>2</add1> <add
2021-10-09 17:44:17
224
原创 Pytest读取xml和csv文件相加相减
命名规则Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest 更加严谨 Pytest调用语句 -x出现一条测试用例失败就退出测试 -v: 丰富信息模式, 输出更详细的用例执行信息 -s:显示print内容 -q: 简化结果信息,不会显示每个用例的文件名 xml相加相减开发得编码class Kf(object): #相加 def add(self,a,b)..
2021-10-09 15:55:52
298
原创 单元测试之pytest 生成测试报告
前提:需要安装pytest和pytest-html(生成html测试报告)pip install pytest 和 pip install pytest-html 命名规则Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest更加严谨Pytest生成自带的html测试报告需要下载pytest-html模块(python自带的生成测试报告模块pip install pytest-html运行指定模...
2021-10-09 11:37:44
430
原创 读取xml和csv设置数据
在开发里面书写开发编码第一种方式 xmlclass Kf (object): def add(self,a,b): c = a + b return c def reduct(self,a,b): c = a - b return c def cheng(self,a,b): c = a * b return c def chu(self,a,b): .
2021-10-08 19:01:01
237
原创 生成测试报告
生成测试报告数据包首先要导入一个生成html的文件测试的包import unittest#首先要导入开发里面的类名进行测试from ceshi.android import Kf#创建实例化对象k = Kf()#相加的方法jia = k.add(1,2)#相减的方法jian = k.reduct(10,8)#要继承unittest.TestCaseclass CalcTestcase(unittest.TestCase): def setUp(self) -
2021-10-08 16:21:58
353
原创 单元测试之unittest 测试数据
setUp():准备环境,执行每个测试用例的前置条件;tearDown():环境还原,执行每个测试用例的后置条件;setUpClass():必须使用@classmethod装饰器,所有case执行的前置条件,只运行一次;tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次;import unittest#要继承unittest.TestCaseclass CalcTestcase(unittest.TestCase): def.
2021-10-08 11:26:12
305
原创 Python中私有属性,修改私有属性、 静态方法、类方法、实例方法
私有权限类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问; 类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问; 私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用。私有属性和私有方法 类部调用私有属性和私有方法 class Preson(object): #初始化方法 def __init__(self,name,age): #实例属性 self.name = name...
2021-10-07 19:04:19
2387
原创 Python中单继承、多继承、super()
单继承单继承:子类只继承一个父类子类在继承的时候,在定义类时,小括号()中为父类的名字 父类的属性、方法,会被继承给子类虽然子类没有定义__init__方法初始化属性,也没有定义实例方法,但是父类有。所以只要创建子类的对象,就默认执行了那个继承过来的__init__方法class A (object): def __init__(self): self.num = 10 #实例方法 def print_num(sel...
2021-10-07 11:31:14
239
原创 Python中面向对象self获取对象属性,魔法方法
类和对象类(Class) 由3个部分构成01). 类的名称:类名02). 类的属性:一组数据03). 类的方法:允许对进行操作的方法 (行为)举例说明(Dog) 属性:品种 、毛色、性别、名字、 腿儿的数量 方法(行为/功能):叫 、跑、咬人、吃、摇尾巴class Dog(object): name = "jack" sex = "雌性" cocler = "黑色" def run(self): #实例化方法 pri
2021-10-06 18:56:36
1570
原创 1001数据库
创建数据库和表插入数据查询SC表中对应何昊老师所授课程的女生的信息找出没有选修过何老师的课程的所有学生的姓名列出有不及格课程(成绩小于60)的学生的姓名
2021-09-28 15:04:21
127
原创 Python模块Python中的包
Python 模块(Module),是一个Python文件,以.py 结尾,包含了Python 对象定义和Python语句模块的引入import模块定义好后,我们可以使用 import 语句来引入模块,语法如下import module1[, module2[,... moduleN]]:开平方根from…import 语句from…import * 语句day 目录下的 runoob1.py、runoob2.py...
2021-09-27 19:41:46
57
原创 Python中的文件和文件夹和异常处理
文件重命名格式import osos.rename("需要修改的文件名","新文件名")删除文件格式import osos.remove("文件名")创建文件夹格式import osos.mkdir("文件夹名")获取当前的目录格式import os变量名 = os.getcwd()print(变量名 )演示异常语法try:<语句> #运行别的代码...
2021-09-27 16:15:43
153
原创 Python中文件的读取写和二进制文件读取写
文件的作用使用文件的目的:保存数据存放在磁盘把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式)写数据(write)格式对象 = open("文件",w)对象.write("写入数据")对象.close...
2021-09-27 11:38:39
2633
原创 Python中的函数
内置函数函数定义和调用1.定义函数 定义函数的格式如下: def 函数名(): 输出参数的和定义时小括号中的参数,用来接收参数用的,称为 “形参”调用时小括号中的参数,用来传递给函数用的,称为 “实参”位置参数 :参数调用时,传入的参数个数要和位置想匹配关键字参数:参数调用时,可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面缺省参数:在形参中默认有值的参数,称之为缺省参数 调用函数时,缺省参数的...
2021-09-26 19:12:49
71
原创 Python中集合的操作
集合的交集和并集交集和并集( & 和 | )集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。添加元素(add,update)update是把要传入的元素拆分,做为个体传入到集合中删除元素(remove,pop,discard)remove删除集合中的元素 如果有 直接删除 如果没有 程序报错pop删除是随机删除集合中的元素 如果set1没有元素讲程序报错discard删除 如果元素存在 直接删除 如果元素不存...
2021-09-26 10:45:49
86
原创 Pycharm元祖与字典
元祖的遍历查询个数 count 根据下标查询元素根据索引查询元素位置 index()查询长度 len()类型转换 type(转换的类型(变量名))根据键访问值字典中是否存在某个键而又想获取其值时,可以使用get()方法。字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改添加元素删除元素 对字典进行删除操作,(1)del (2)clear() ---- 清空(2)clear() ---- 清空...
2021-09-24 11:41:33
378
原创 列表的介绍以及常见操作
添加元素 append()修改元素 根据下标去修改元素del:根据下标进行删除 pop:删除最后一个元素 remove:根据元素的值进行删除静态初始化一个空列表list,1.使用循环向列表中添加 1--10之间的所有整数; 02. 向01中创建的列表list中添加一个字符串“XuanGe”; 03. 删除下标索引为0的元素 ;04. 将下标索引为1的元素改为66 ;05. 输出列表中的第3个元素;列表嵌套schoolName...
2021-09-23 17:18:36
125
原创 字符串的常见操作 下标 切片 以及各种方法
字符串的输入输出操作下标切片切片是指对操作的对象截取其中一部分的操作。 字符串、列表、元组都支持切片操作。 切片的语法:[起始下标:结束:步长]替换 replace()upper() 转换小写字母为大写lower() 转换 大写字符为小写 格式title() 把字符串的每个单词首字母大写capitalize() 把字符串的第一个字符大写strip()删除mystr字符串两端的空白字符join()...
2021-09-23 11:20:00
587
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人