- 博客(58)
- 收藏
- 关注
原创 Python自动化连接谷歌浏览器
1、安装seleniumpip install selenium==2.48.02、查看自己谷歌的版本号3、下载对应版本的驱动http://chromedriver.storage.googleapis.com/index.html4、把解压后的驱动放在自己的python.exe目录下
2022-02-11 21:41:34 1319 1
原创 关于App的自动化测试(二)
一、APP元素事件操作1、swip滑动事件⚠️从一个坐标位置滑动到另一个坐标位置,只能是两个点之间的滑动 方法:swipe(start_x, start_y, end_x, end_y, duration=None) 参数: a.start_x:起点X轴坐标 b.start_y:起点Y轴坐标 c.end_x: 终点X轴坐标 d.end_y,: 终点Y轴坐标 e.duration: 滑动这个操作一共持续的时间长度,单位:ms业务...
2021-06-17 21:45:00 258 3
转载 关于App的自动化测试
一、移动端测试知识概览1、移动端测试是什么? 移动端测试是指对移动应用进行的测试,即实体的特性满足需求的程度。2、移动端测试分类A、app功能测试1)业务逻辑正确性测试产品文档2)兼容性测试a.系统版本b.分辨率c.网络情况3)异常测试a.热启动应用 b.网络切换&中断恢复 c.电话&信息中断恢复4)升级&安装卸载测试5)健壮性测试a.手机资源消耗 b.流量消耗c.崩溃恢复等测试B、app自动化测试通过...
2021-06-17 20:19:05 659
转载 Monkey的基本操作
一、Money介绍1、顾名思义,Monkey就是猴子, Monkey测试,就像一只猴子,在电脑面前,乱敲键盘在测试。 猴子什么都不懂, 只知道乱敲通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常2、Monkey 主要用于Android的稳定性测试,自动的一个压力测试小工具,主要目的就是为了测试app是否会Crash(崩溃).3、Monkey程序介绍(1) Monkey程序由Android系统自带,使...
2021-06-16 22:01:48 1230
原创 ADB的基本使用
一、ADB命令的使用1、查看设备:adb devices这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示2、开启服务:adb start-server关闭服务:adb kill-server3、安装软件:adb install apk路径如果需要修改ADB的Path位置,如果有jdk路径,放在jdk路径之前4、覆盖安装:adb install -r (APK路径)-r 代表如果apk已安装,重新安装apk.
2021-06-16 20:33:35 1362
原创 手机端常规测试基本信息
一、介绍手机测试的概念架构对于手机端测试,按照平台来分,分为Android和IOS两大主流系统,对于ios和Android,二者有区别,我就说一下我在测试这两款手机app的感受吧Android开源导致碎片化比较严重,(手机品牌众多,系统版本各异,分辨率不统一,主流手机型号上千。无法保证应用、游戏对于所有手机的适配兼容。)bug比较多,而IOS通常bug会少一些。Android手机长按home建,会呼出应用列表和切换应用,右滑择会终止应用。还有分辨率测试,Android手机分辨率有20多种
2021-06-16 11:50:46 326
原创 关于ADB的配置与ADB连接夜神模拟器
一、ADB的环境配置1、找到在sdk中ADB的位置2、在系统变量中新建ANDROID_HOME变量,赋值路径(D:\studio4.0\sdk\platform-tools)3、在系统变量path中添加%ANDROID_HOME%4、验证adb配置是否成功二、连接模拟器1、查看设备:adb devices输入adb devices如果是:证明没有连接到设备如果是:证明连接到设备,雷电模拟器打开可以直接连接到设备。2、夜神模拟..
2021-06-16 11:06:15 964
原创 Selenium IDE操作生成自动化代码
一、Selenium IDE操作1、录制2、运行测试案例3、生成测试代码4、最终的代码代码:# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.support...
2021-06-15 20:03:22 934
原创 关于web自动化的po模型
一、Po模型的基本使用1、创建baseDemo包,创建BasePage类代码:from selenium.webdriver.common.action_chains import ActionChains #鼠标操作class BasePage(): # 实例化BasePage类时,事先执行的__init__方法,该方法需要传递参数 def __init__(self,driver,url): self.driver=driver sel
2021-06-15 19:28:14 142
原创 关于web自动化的模型
一、po模型介绍1、介绍:在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相 同),通常PO模型可以大大提高测试用例的维护效率。优点:重用,业务和对象分离,代码结构清晰,方便代码维护2、核心要素:1).在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性 2).每一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个方法 3).Te
2021-06-15 16:47:05 279
转载 web自动化测试的Selenium高级使用(二)
一、鼠标和键盘操作 手动测试时键盘的操作在selenium页有实现,关于鼠标的操作由ActionChains()类来提供,关于键盘的操作由Key()类来提供 1、鼠标操作 * 导入动作链类,动作链可以储存鼠标的动作,并一起执行 from selenium.webdriver import ActionChains ActionChains(driver) * 鼠标右击 ...
2021-06-13 23:04:58 329
转载 web自动化测试的Selenium高级使用(一)
一、多标签之间的切换场景:有的时候点击一个链接,新页面并非由当前页面跳转过去,而是新开一个页面打开,这种情况下,计算机需要识别多标签或窗口的情况。 1)获取所有窗口的句柄 handles = driver.window_handlers() 调用该方法会得到一个列表,在selenium运行过程中的每一个窗口都有一个对应的值存放在里面。 2)通过窗口的句柄进入的窗口 driver.switch_to_window(ha...
2021-06-11 16:52:38 183 1
转载 web自动化测试之Selenium基础
一、Selenium简介1、框架框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 框架,其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。...
2021-06-10 21:17:29 178
原创 自动化测试之web测试(三)
一、.css选择器语法1、通过元素之前嵌套关系案例1:div,p选择所有<div>元素和所有<p>元素案例2:div p 选择<div>元素内部所有<p>元素2、通过属性案例1:[id]:带有id属性的所有元素案例2:[ name="description"]:选择name="description"的所有元素案例3:a[href^="https://"]:选择其href属性值以"https:..
2021-06-10 07:26:13 93
原创 自动化测试之web测试(二)
一、xpath1、查找某个特定的节点或者包含某个指定的值的节点案例1:/bookstore/book[1]:选取bookstore子元素的第一个book元素或案例2:/bookstore/book[last()]:选取bookstore子元素的最后一个book元素案例3:/bookstore/book[last()-1]:选取bookstore子元素的倒数第二个book元素案例4:/bookstore/book[position()<3]:选取最前面的两个属
2021-06-09 21:01:04 138
原创 自动化测试之web测试
一、自动化基础知识1、软件自动化测试就是通过测试工具或者其他手段按照测试人员的预定计划对软件产品进行自动化 测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。2、自动化测试的好处:1)缩短测试周期 计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。 2)避...
2021-06-09 18:01:27 695
原创 自动化操作环境的搭建
一、ant的基本信息1、apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。2、特点:跨平台性、操作简单3、配置Ant1)打开Test文件夹2)找到Test中的ant文件夹下的如下路径3)在环境变量中系统变量新增ANT_HOME:为 ant解压位置新增CLASSPATH为 %ANT_HOME%\lib;如果报此时不应有 D:\jk\test\ant\ap...
2021-06-08 21:31:36 655 4
原创 python基础知识总结
一、变量的定义1、格式:变量名=变量值2、标识符要求:数字,字母,_ 组成 首字母不能为数字 不能使用关键字 区分大小写3、数据类型:字符串 数字 列表字典 元组 集合二、字符串定义:变量名=' ' 变量名=" "常见操作:find():查找 index()查找conut()查...
2021-06-07 21:38:43 194 1
原创 python关于resquest接口测试(二)
一、读取excle文件流程存储数据:读取数据from openpyxl import load_workbookclass ReadXls(): def get_TestExcel(self): # 打开表 workbook = load_workbook(r'E:/python/pytest/day67/datademo/0607.xlsx') # 定位表单 sheet = workbook['Sheet1']
2021-06-07 20:08:15 258 1
原创 Python中关于request接口测试
一、requests基础知识requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求前提:pip install requests二、get请求1、GET无参请求r = requests.get('http://www.baidu.com')2、GET传参payload = {'key1': 'value1', 'key2': 'value2', 'key3'.
2021-06-07 19:00:17 298 3
原创 python单元测试之pytest
一、前提准备1、前提:需要安装pytest和pytest-html(生成html测试报告)pip install pytest 和 pip install pytest-html安装插件:pip install 插件名2、命名规范Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest更加严谨Pytest: setup, setup_class和teardown, teardown_class函数(和unittest执行效..
2021-06-04 17:21:24 229 1
原创 python单元测试之unittest操作
一、csv文件的操作csv文件:15,5,318,6,3csv文件的读取import csv #导入csv模块class ReadCsv(): def read_csv(self): item =[] #定义一个空列表 # c = csv.reader(open("../datademo/test.csv","r")) #得到csv文件对象 # c=csv.reader(open("../datademo/tes
2021-06-03 20:48:52 143 3
转载 python单元测试之unittest知识
一、单元测试,集成测试,功能测试单元测试:颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对软件中的最小可测试单元进行检查和验证集成测试:介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验证“设计”又验证“需求”。主要用来测试模板与模板之间的接口,同时还要测试一些主要的业务功能。功能测试:颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求规格说明书白盒:主要应用于单元测试阶段,主要是对代码级别的测试,针对.
2021-06-03 20:14:22 115
原创 python的面向对象关于封装的介绍
一、封装1、封装的意义:a、将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;b、隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;c、对类的属性和方法增加 访问权限控制。2、私有权限:a、在属性名和方法名 前面 加上两个下划线 __ 类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问;b、类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问;c、私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用.
2021-06-03 15:54:09 948 1
原创 python的面向对象中的继承
一、继承的介绍在程序中,继承描述的是多个类之间的所属关系。二、继承的种类1、单继承单继承:子类只继承一个父类案例:情节:煎饼果子老师傅在煎饼果子界摸爬滚打几十年,拥有一身精湛的煎饼果子技术,并总结了一套"古法煎饼果子配方"。 可是老师傅年迈已久,在嗝屁之前希望把自己的配方传承下去,于是老师傅把配方传给他的徒弟大猫..class Master(object): def __init__(self): self.kongfu="古法煎饼果子配方" def
2021-06-02 20:02:36 245 4
原创 python的面向对象中关于类与对象的关系
一、面向对象的基本信息1、面向过程编程最易被初学者接受,其往往用一长段代码来实现指定功能,开发过程的思路是将数据与函数按照执行的逻辑顺序组织在一起,数据与函数分开考虑。面向对象和面向过程都是解决问题的一种思路而已2、面向对象编程的2个非常重要的概念:类和对象对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类3、类:定义:人以类聚 物以群分1)具有相似内部状态和运动规律的实体的集合(或统称为抽象)。2)具有相同
2021-06-02 18:43:55 1575 2
原创 python关于模块的基础知识
一、模块1、模块:Python 模块(Module),是一个Python文件,以.py 结尾,包含了Python 对象定义和Python语句案例:关于aa.py的模块def test1(): print("我是模块1")def test2(): print("我是模块2")def test3(): print("我是模块3")二、模块的引入 1、import 格式:import module1[, module2[,... moduleN]] 案例:
2021-06-02 16:33:20 399
原创 python关于异常的处理
一、异常的介绍1、异常:异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。 2、演示异常 f = open("123.txt","r") #FileNotFoundError: [Errno 2] No such file or directory: '123.txt' list =[1,2,3
2021-06-01 21:39:30 261 3
原创 python对文件的基本操作
一、文件的介绍1、定义:如下图展示数据2、文件的作用使用文件的目的:保存数据存放在磁盘 把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力二 、文件的打开与关闭步骤:新建--写入数据--关闭 打开文件,或者新建立一个文件 读/写数据 关闭文件 三、文件的操作1、打开文件说明:在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访 问模式)格式:f = ope...
2021-06-01 20:39:49 407
原创 python关于字符串、列表、元组、字典的一些公共方法
一、运算符1、加法:案例1:字符串a="jack"b="tom"print(a+b)结果:案例2:列表a=[3,5,6]b=[6,"jack"]print(a+b)结果:案例3:元组a=(3,5,"jack")b=(5,7,"tom")print(a+b)结果:2、乘法案例1:字符串a="jack"print(a*4)结果:案例2:列表a=[5,7,"jack"]print(a*4)结果:.
2021-05-30 22:01:11 175
原创 python关于函数的基本信息(一)
一、函数的基本信息函数:在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块 组织为一个小模块,这就是函数 格式:def 函数名(): 执行语句 函数名() #调用函数案例:def a(): print("hello")a()结果:定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它 调用函数很简单的,通过 函数名() 即可完成调用 每次调用函数时,函数都会从头开始执行,当这
2021-05-30 12:17:02 575 2
原创 python关于集合的知识
一、集合的基本信息集合:集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。格式:set1 = set()或a={值1,值2}特性:无序、可变、唯一(去重)案例:a=set()print(type(a))结果:二、集合的基本操作1、添加元素(add,update)add:添加元素案例:a={1,333,4,5,"小明","小红",1,4,4}a.add(6)a.add(45)print(a)结果:update:是把
2021-05-28 21:52:22 281
原创 python关于字典的知识
一、字典的基本信息字典:既能存储多个数据,还能在访问元素的很方便就能够定位到需要的那个元素。格式:变量名={key1:value,key2:value,,,} 案例:a={"name":"jack","age":21,"sex":"男"}字典的每个元素由2部分组成,键(key):值(value) 二、字典的基本操作:1、查询:变量名["key"]、变量名.get("key")1)变量名["key"]案例1:有对应key的a={"name":"jack","age
2021-05-28 20:23:39 773
原创 python关于元组的一些基本信息
一、元组与列表的区别:Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号( ),列表使用方括号[ ]。二、元组:格式:变量名 = (,,)案例:tup1 = ('Google', 'Runoob', 1997, 2000)三、元组的操作1、元组的遍历:for案例:tup1 = ('Google', 'Runoob', 1997, 2000)for i in tup1: print(i)结果:2、元组的修改..
2021-05-27 21:13:41 137 4
原创 python关于列表的一些基本信息
一、列表格式:变量=[,,,] 案例:a=[1,3,5,2,7,3]namesList=["xiaoWang",123,12.5,"金木水火土",12.5,122]二、列表的相关操作1、列表的新增(append, extend, insert )
2021-05-27 16:05:54 157 2
原创 关于测试方面一些知识的总结
一、九九乘法口诀a、i=1while i<=9: j=1 while j<=i: print("{}*{}={}".format(i,j,i*j),end=" ") j+=1 print("\n") i+=1b、for i in range(1,10): for j in range(1,i+1): print("{}*{}={}".format(i,j,i*j),end=" ")
2021-05-26 16:42:18 147
原创 python的判断与循环语句
一、判断语句1、判断:在程序中如果某些条件满足,才能做某件事情,而不满足时不允许做,这就是所谓的判断2、if语句的使用格式:if 要判断的条件:条件成立时,要做的事情 如:判断年纪,如果age大于18,输入成年age = 18 if age>18: print("你已成年") 注意:代码的缩进为一个tab键,或者4个空格3、if-else的使用格式:if 要判断的条件: 条件成立时,要做的事情 else:条件不成立时,要做的事情..
2021-05-26 07:23:01 546
原创 python基础知识
一、计算机发展史1、计算机发明者约翰·冯·诺依曼。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革。目前阶段,计算机已遍及一般学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。2、计算机 是由硬件系统(hardware system)和 软件系统(software system)两部分组
2021-05-24 16:48:49 101 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人