- 博客(64)
- 收藏
- 关注
原创 Shell脚本介绍及操作
Shell介绍Shell 和python都是弱语言 定义变量规则 : 变量名=值shell定义变量的规则: 1:等号两边不能有空格 2:定义特殊的变量需要用单引号或者双引号结合 3:定义linux命令需要用反单引号 区分单引号和双引号的不同和相同点 ...
2021-11-05 21:45:22 217
原创 RobotFramework窗口跳转和表单跳转
首先先下载pip install robotframework-requestspip install robotframework-appiumlibrary案例:58租房:http://bj.58.com写入指定浏览器和网址.进入58页面之后定位元素,点f12打开,之后点击复制,选择完整xpath完成之后进行复制,复制完到click点击输入验证一下这里会用到跳页面,然后输入Get Window Handles,这个是获取当前页面...
2021-11-04 14:28:30 3687
原创 Robot Framework UI 自动化测试环境及元素定位
一、基础1.通过 pip 安装扩展库 :pip install robotframework-seleniumlibrary2.下载谷歌游览器和对应驱动https://www.cnblogs.com/loved-wangwei/p/8993013.html3.将游览器驱动放在 python 的目录下4.导入SeleniumLibrary扩展库5.设置睡眠时间6. 窗口最大化7.设置窗口位置8.返回上一步9.跳...
2021-11-03 14:40:37 199
原创 Robot Framework安装及常用关键字
一、RobotFramework的简介和特点RF是一个基于Python语言开发的,可扩展的,是以关键字驱动模式的自动化测试框架,RF最新的版本是2019年7月份发布,7月份之前只支持python2.7,7月之后支持3.X的版本补充:关键字驱动和数据驱动的区别?关键字驱动:把项目中的一些逻辑封装成关键字(一个函数名),login,register,调用不同的关键字组合实现不同的业务逻辑,从而驱动测试用例执行。数据驱动:把测试用例里面的数据提取到excel或者yaml文件里面,然后通过改变excel
2021-11-02 14:36:14 237
原创 app端自动化POM
一: POM 及 POM 设计原理POM(page object model) 页面对象模型,主要应用于 UI 自动化测试框架的搭建,主流设计模式之一,页面对象模型:结合面向对象编程思路:把项目的每个页面当做一个对象进行编程python 基础:什么是对象?python 中对象 = 属性 + 行为 通过类定义 = 具有相同属性 + 相同行为对象集合二: POM 一版分为四层第一层 :basepage 层 : 描述每个页面相同的属性及行为第二层: pageobject 层 ( 每个的独有特征及独有
2021-11-01 14:10:58 108
原创 app端自动化POM
一:POM及POM设计原理python基础:什么对象?python中对象=属性+行为通过类定义=具有相同属性+同行为对象集合二:POM一版分为四层 三.代码实现非po模型(夜神中QQ登录)po模型操作basepage(封装公共的属性和行为) 业务页代码daohang_page.py(导航模块)login_page.py(登录模块)单元测试模块图揽引入yuml文件yaml文件:数据层次清晰,可以跨平台...
2021-10-29 15:40:05 145
原创 App自动化测试操作
uiautomatorviewer定位工具的使用工具简介如何使用选择截图上需要查看的控件,即可浏览该控件的id,class,text,坐标等信息发送数据到输入框清空输入框内容获取元素的文本内容获取元素的属性值方法: get_attribute(value) # value:元素的属性获取元素在屏幕上的坐标方法:location获取app包名和启动名 获取包名方法:cu...
2021-10-29 00:36:30 120
原创 Appium相关
一、与虚拟机内app建立连接1.启动客户端,按图片步骤来设置2.设置参数.3.启动会话二、脚本录制1.点击录制二、脚本录制2.点击发送密钥3.刚才操作的代码.4.将代码复制到Pycharm10.27日...
2021-10-27 23:48:24 81
原创 移动端测试和monkey
Money 介绍顾名思义,Monkey就是猴子, Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试。 猴子什么都不懂, 只知道乱敲通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程序多久的时间会发生异常Monkey用来做什么Monkey 主要用于Android的稳定性测试,自动的一个压力测试小工具, 主要目的就是为了测试app 是否会Crash(崩溃).Monkey 命令 基本参数介绍使用monkey测试手机所..
2021-10-26 21:09:29 104
原创 ADB介绍—— 配置ADB环境变量
ABDADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机)它的主要功能有:* 运行设备的shell(命令行)* 管理模拟器或设备的端口映射* 计算机和设备之间上传/下载文件* 将本地apk软件安装至模拟器或android设备配置ADB环境变量配置ADB环境变量1:在系统变量中新建ANDROID_HOME变量,赋值路径(D:\instal
2021-10-25 20:20:33 7334
原创 ADB移动端测试
介绍手机测试的概念架构对于手机端测试,按照平台来分,分为Android和IOS两大主流系统,对于ios和Android,二者有区别,我就说一下我在测试这两款手机app的感受吧Android开源导致碎片化比较严重,(手机品牌众多,系统版本各异,分辨率不统一,主流手机型号上千。无法保证应用、游戏对于所有手机的适配兼容。)bug比较多,而IOS通常bug会少一些。Android手机长按home建,会呼出应用列表和切换应用,右滑择会终止应用。还有分辨率测试,Android手机分辨率有20多种,I
2021-10-25 16:49:42 182
原创 Selenium API
1,多标签之间的切换 场景:有的时候点击一个连接,新页面并非由当前页面跳转过去,而是新开一个页面打开,这种情况下,计算机需要识别多标签或窗口的情况 (1)获取所有窗口的句柄 handles =driver.window_handlers() 调用该方法会得到一个列表,在selenium运行过程的每一个窗口都有一个对应的值存放在里面 (2)通过窗口的句柄进入的窗口 driver.switch_to_window(handles[n]) d
2021-10-19 21:11:38 113
原创 Selenium自动化测试基本理论
1.什么是框架? 框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 框架,其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。2.为什么使用框架...
2021-10-18 19:44:41 193
原创 自动化测试初级介绍
1.认识web自动化测试1.1什么是自动化测试自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。1.2 为什么进行自动化测试1.自动化测试的好处: 1)缩短测试周期 计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将...
2021-10-14 21:15:14 246
原创 Tomcat的安装与环境变量配置
1;解压tomcat文件夹解压路径为:D:\Student\tomcat\apache-tomcat-8.5.50环境变量的配置右击“我的电脑”>>选择“属性”>>单击左侧栏“高级系统设置”>>“高级”>>“环境变量”1.新建CATALINA_HOME变量变量名:CATALINA_HOME变量值:解压后tomcat路径2将tomcat中的bin添加到path中开启tomcat的方式有两种方式1:在dos窗口输..
2021-10-13 14:55:14 114
原创 搭建JMeter+Jenkins+Ant环境报告
1 首先先在D盘建一个文件夹Text1.2双击进入Test文件,在里面创建文件夹:把apache-ant-1.9.14-bin.zip这个包解压到Test/ant里 此包需自行下载双击进入复制路径配置环境变量:配置环境变量在环境变量中系统变量新增ANT_HOME:为ant解压位置CLASSPATH为 %ANT_HOME%\lib;PATH为%ANT_HOME%\bin;验证ant是否安装成功,如下显示...
2021-10-13 08:07:17 303 1
原创 读取excle文件流程
存储数据(xlsx)读取数据(readDemo)读取数据内容源代码:from openpyxl import load_workbook class UseExcel(): def get_TestExcel(self): # 打开表 workbook = load_workbook('D:\install\python\python\Test_allure\DataDemo/test1.xlsx') # 定位表单 sheet = workbook[.
2021-10-11 16:12:33 175
原创 10月11日requests接口测试
requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到, Requests是Python语言的第三方的库,专门用于发送HTTP请求 GET无参请求:GET传参:测试聚合数据 Pods请求python中的表单提交 :测试聚合数据Requests响应r.status_code 响应状态码 r.heards 响应头 r.cookies 响应cookies r.text 响应文本 r...
2021-10-11 16:04:28 189
原创 单元测试:通过读取csv/xml数据并且结合使用allure展示测试报告,验证开发中的add()和reduct()操作(在@allure.story分别实现相加减)
最前提是先需要安装pytest和pytest-html(生成html测试报告)一、命名规则Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest更加严谨案例结果为没有测试用例在执行运行于测试方法的始末,即:运行一次测试函数会运行一次setup和teardown运行于测试方法的始末,但是不管有多少测试函数都只执行一次setup_class和 teardown_class二、Pytest生成自带的html测试报告
2021-10-09 18:35:54 318
原创 Python单元测试之Unittest
单元测试 颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合 “ 设计 ” ;是指对软件中的最小可测试单元进行检查和验证一: Unittest 重要组成 Python 中有一个自带的单元测试框架是 unittest 模块,用它来做单元测试,它里面封装好了一些校验 返回的结果方法(断言)和一些用例执行前的初始化操作。unittest 中最核心的部分是: TestFixture 、 TestCase 、 TestSuite 、 TestRunnerTestFixture作用 :..
2021-10-09 16:57:19 102
原创 模块模块制作python中的包
1.Python中的模块有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的。 那么在Python中,如果要引用一些其他的函数,该怎么处理呢? 在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。 说的通俗点:模块就
2021-10-09 16:54:32 94
原创 异常的传递抛出自定义的异常
异常的传递1. try嵌套中的:import time try: f = open("test.txt") try: while True: content = f.readline() if len(content) == 0: break time.sleep(2) print(content) except: ...
2021-10-09 16:20:06 148
原创 异常介绍捕获异常
异常说明: 打开一个不存在的文件123.txt,当找不到123.txt 文件时,就会抛出给我们一个IOError类型的错误,No such file or directory:123.txt (没有123.txt这样的文件或目录) 异常: 当Python检测到一个错误时,解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"异常捕获案例剖析看如下示例: try: print('-----test--1---') open('123.txt','r') ...
2021-10-09 16:03:28 160
原创 实例方法__new__方法介绍
实例方法中的第一个参数是self,只能通过对象来访问实例方法实例方法中需要self参数,因此调用实例方法只能通过实例对象调用 也可以通过类调用但是一般不这样用类方法使用@classmethod装饰,第一个参数为类(cls),调用时可以通过类的实例或者类本身来调用。 实例方法定义时第一个参数为类的一个实例(self),调用时必须通过实例调用。 静态方法使用@staticmethod装饰,调用时可以使用类的实例或者类本身来调用。__new__方法__new__和__init__的作用.
2021-10-08 18:57:24 246
原创 类属性和实例属性类方法和静态方法
类属性和实例属性类属性和实例属性 在了解了类基本的东西之后,下面看一下python中这几个概念的区别 先来谈一下类属性和实例属性 在前面的例子中我们接触到的就是实例属性(实例对象属性),顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,这个和C++中类的静态成员变量有点类似。对于公有的类属性,可以通过类或者实例对象访问 实例属性只能通过对象来调用,类不能调用类属性 可以通过类或者实例对象调用实例属性(对象属性)可以通过实例化对象调..
2021-10-08 18:50:02 358
原创 私有方法修改私有属性的值
私有权限封装的意义: 将属性和方法放到一起做为一个整体,然后通过实例化对象来处理; 隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了; 对类的属性和方法增加 访问权限控制。 私有权限:在属性名和方法名 前面 加上两个下划线 __ 类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问; 类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问; 私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用。私有属性和私有方法 demo:私有.
2021-10-08 16:15:47 397
原创 Python类继承
Python中单类继承Python是一门面向对象的编程语言,支持类继承。新的类称为子类(Subclass),被继承的类称为父类、基类或者超类。子类继承父类后,就拥有父类的所有特性。类继承的简单例子:普通类方法继承这里Fruit为父类,Apple和Orange为子类,子类继承了父类的特性,因此Apple和Orange也拥有Color方法。子类除了可以继承父类的方法,还可以覆盖父类的方法:子类可以在继承父类方法的同时,对方法进行重构。这样一来,子类的方法既包含父类方法的特性,同时也包含子类.
2021-10-08 15:47:22 222
原创 字典的增删改查
1.修改元素当在里面修改一个没有key的值时,会添加一个进去:2.添加元素3.访问不存在元素4.删除元素删除整个字典清空整个字典测量字典中,键值对的个数返回一个包含字典所有的key的列表返回一个包含字典所有values的列表返回一个包含所有元祖的列表遍历字典遍历:字符串遍历:列表的遍历遍历字典的key...
2021-09-26 19:55:00 62
原创 python列表的增删改查、排序
新增一条数据:append:向列表尾部添加元素extend:可以将另一个集合中的元素逐一添加到列表中append和extend的区别:append是将整个集合添加到列表中extend是将集合中的元素逐一添加到列表中insert:在指定位置前插入元素例:修改:通过下标来确定要修改的是哪个元素,然后才能进行修改查找:就是看看指定的元素是否存在in:not in:count:删除:del:根据...
2021-09-24 19:12:32 80
原创 python字符串、列表、字典操作
取出c取出ac反转字符串find查询go是否包含在b中find查询good是否包含在b中index()检测boy是否包含在b中count()返回we到home之间,e出现的次数 replace()把b中的we替换成Wesplit() 分割startswith()检查字符串是否是以we开头...
2021-09-23 20:17:44 80
原创 Python 中的 for 循环
Python的for循环for 语句是 Python 中执行迭代的两个语句之一,另一个语句是 while。如果你对 Python 的迭代并不是很熟悉的话,Python中的迭代:for、while、break、以及continue语句是一个不错的切入点。Python 中,for 循环用于遍历一个迭代对象的所有元素。循环内的语句段会针对迭代对象的每一个元素项目都执行一次。暂且可以将迭代对象想象成一个对象集合,我们可以一个个遍历里面的元素。我们将在下一节对迭代器和迭代对象作详细说明。一个简单的 for
2021-09-22 19:07:20 685
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人