自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

测试领头羊

来了就留下你的痕迹哦

  • 博客(88)
  • 收藏
  • 关注

原创 Shell脚本详细介绍

一:Shell介绍Shell 是一个 C 语言编写的脚本语言,它是用户与 Linux 的桥梁,用户输入命令交给 Shell 处理,shell是一个命令解释器,是一个工具箱, Shell 将相应的操作传递给内核(Kernel),内核把处理的结果输出给用户。二:Shell定义变量规则Shell 和python都是弱语言定义变量规则:变量名=值shell定义变量的规则: 1:等号两边不能有空格 2:定义特殊的变量需要用单引号或者双引号结合 3:定义linux命令需要用反单引号区分单引号和双引号

2021-11-04 23:03:54 10938 2

原创 RobotFramework+jenkins持续化集成及高级操作API

一:RobotFramework高级操作API1.窗口跳转案例:58租房:http://bj.58.com登录58同城>>点击租房>>选择区域>>选择租金>>进行筛选Get Window Handles:获取窗口的句柄 Select Window By Handle:切换到新窗口注意:跳转窗口需要Select Window By Handle关键字,但是类库中没有对应的关键字,需要我们进行如 下操作1.例如在我的位置:E:\python\

2021-11-03 21:49:02 809

原创 RobotFramework操作API

一:RobotFramework之UI自动化测试环境1:通过pip安装扩展库

2021-11-02 19:17:03 592

原创 RobotFramework简介及使用

一:RobotFramework的简介和特点RF是一个基于Python语言开发的,可扩展的,是以关键字驱动模式的自动化测试框架,RF最新的版本是2019 年7月份发布,7月份之前只支持python2.7,7月之后支持3.X的版本RobotFramework的特点1:编辑用例简单,可以以robot,txt,tsv或者html的格式编写用例2:自动生成html格式的测试报告和日志(HtmlTestRunner.py,allure)3:除了自带的类库外,还有很多的实用的类库4:可以根据项目的需要

2021-11-01 22:13:25 30663 2

原创 Python+Appium+POM实现APP端自动化测试

1.POM及POM设计原理POM(page object model)页面对象模型,主要应用于UI自动化测试框架的搭建,主流设计模式之 一,页面对象模型:结合面向对象编程思路:把项目的每个页面当做一个对象进行编程2.POM一版分为四层第一层:basepage层:描述每个页面相同的属性及行为第二层:pageobject层(每个的独有特征及独有的行为)第三层:testcase层(用例层,描述项目业务流程)第四层:testdata(数据层)3.代码实现1.组织代码2.basepage(

2021-10-30 00:58:31 984

原创 APP模拟手势高级操作

TouchAction是AppiumDriver的辅助类,主要针对手势操作,比如滑动、长按、拖动等,原理是将一系列的动作放在一个链条中发送到服务器,服务器接受到该链条后,解析各个动作,逐个执行。1.前置代码 from appium import webdriver # server 启动参数 desired_caps = {} # 设备信息 desired_caps['platformName'] = 'Android' desired_caps['p.

2021-10-28 23:44:15 301

原创 APP元素事件操作API

1.前置代码 from appium import webdriver # server 启动参数 desired_caps = {} # 设备信息 desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '5.1' desired_caps['deviceName'] = '192.168.56.101:5555' # app的信息 desir

2021-10-28 23:43:29 96

原创 APP元素获取信息操作API

1.前置代码from appium import webdriver# 启动参数caps = {}# 设备信息caps["platformName"] = "Android"caps["deviceName"] = "127.0.0.1:62001"# app信息caps["appPackage"] = "com.android.settings"caps["appActivity"] = "com.android.settings.Settings"# 声明我们的driver对象d

2021-10-28 23:42:35 1432

原创 APP元素定位操作API

1.Appium常用元素定位方式namevalueidid属性值classclass属性值xpathxpath表达式2.前置代码from appium import webdriver# 启动参数caps = {}# 设备信息caps["platformName"] = "Android"caps["deviceName"] = "127.0.0.1:62001"# app信息caps["appPackage"] = "com.android.

2021-10-28 23:41:28 122

原创 Appium对app的基本操作

1.APP元素定位操作1.Appium常用元素定位方式namevalueidid属性值classclass属性值xpathxpath表达式2.前置代码from appium import webdriver# 启动参数caps = {}# 设备信息caps["platformName"] = "Android"caps["deviceName"] = "127.0.0.1:62001"# app信息caps["appPackage"] = "

2021-10-28 21:18:11 1623

原创 手机控件查看工具uiautomatorviewer

1.工具简介用来扫描和分析Android应用程序的UI控件的工具.2.如何使用1.进入SDK目录下的tools目录,打开uiautomatorviewer2.电脑连接真机或打开android模拟器3.启动待测试app4.点击uiautomatorviewer的左上角Device Screenshot,会生成app当前页面的UI控件截图5.选择截图上需要查看的控件,即可浏览该控件的id,class,text,坐标等信息...

2021-10-28 16:59:41 1495

原创 Appium进行脚本录制操作模拟器

1.Appium操作模拟器1.添加四个必须项及填写参数2.进行启动appium3.如图展示说明appium连接模拟器成功4.点击进行录制5.点击搜索6.点击搜索框7.输入内容8.选择语言,点击展示隐藏代码9.复制代码到pycharm10.在pycharm运行即可...

2021-10-27 21:11:20 380 1

原创 Appium环境搭建

1.Appium的介绍1.支持语言:Java,C#,Python,php,perl,ruby,Node.js2.支持Android和iOS系统3.支持跨应用1.官网:www.appium.io,由SauceLab公司开发2.Appium是由nodejs的express框架写的Http Server,Appium使用WebDriver的json wire协议,来驱动Apple系统的UIAutomation库、Android系统的UIAutomator框架2.Nodejs的安装方式1.官网

2021-10-27 20:22:55 152

原创 手机兼容性测试

Android App兼容性测试,是一个比较重要的App评价内容说到测试阶段,兼容性测试主要是对App在各类机型上的兼容、适配等情况进行测试。搞清楚这一阶段的测试 重点后,因此,Android App在进行兼容性测试前,一定要做好其前序测试内容,否则兼容性测试效果将会较 差。1. 机型配置问题Android兼容测试一定要做到宽范围覆盖,如果做不到这个,那么就违背了兼容性测试的目标——测试App在各 类机型、系统上的运行是否兼容、适配。因此,兼容性测试必须要在各个机型、系统上对App进行运行、测.

2021-10-26 21:25:22 2852

原创 Monkey测试

1.参考资料http://blog.csdn.net/jlminghui/article/details/382384432. Money介绍顾名思义,Monkey就是猴子, Monkey测试,就像一只猴子, 在电脑面前,乱敲键盘在测试。 猴子什么 都不懂, 只知道乱敲 通过Monkey程序模拟用户触摸屏幕、滑动Trackball、 按键等操作来对设备上的程序进行压力测试,检测程 序多久的时间会发生异常3. Monkey用来做什么Monkey 主要用于Android的稳定性测试,自动的一

2021-10-26 18:25:28 181

原创 ADB移动端测试

一:手机端常规测试1.介绍手机测试的对于手机端测试,按照平台来分,分为Android和IOS两大主流系统对于ios和Android,二者有区别,我就说一下我在测试这两款手机app的感受吧1、两者运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。2、两者后台制度不同:IOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。3、IOS中用于UI指令权限最高,安卓中数据处理指令权限最高。Android开源导致碎片化比较严重,(手机品牌众多

2021-10-25 20:21:59 429

原创 Python+Selenium+PO模型实现自动化测试

一. PO模型介绍在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相 同),通常PO模型可以大大提高测试用例的维护效率PO模型又叫PO设计模式,是selenium自动化测试中最佳的设计模式之一,主要体现在对界面交互细节的封装,将页面定位和业务操作分开,也就是把对象的定位和测试脚本分开,在实际测试中只需要关注业务流程,从而提高可维护性。优点:重用,业务和对象分离,代码结构清晰,减少了代码的重复,方便代码维护缺点:造成项目结构比较复杂(因为是

2021-10-22 21:25:12 1528

原创 Selenium 高阶操作

一、多标签之间的切换场景:有的时候点击一个链接,新页面并非由当前页面跳转过去,而是新开一个页面打开,这种情况下,计算机需要识别多标签或窗口的情况。1.获取所有窗口的句柄handles = driver. window_handles调用该方法会得到一个列表,在selenium运行过程中的每一个窗口都有一个对应的值存放在里面。2.通过窗口的句柄进入的窗口driver.switch_to_window(handles[n]) driver.switch_to.window(handles[n

2021-10-19 10:56:27 762

原创 Selenium常用的8大元素定位方法

1.元素定位方法的分类(调用方式):直接调用型(推荐方式)driver.find_element_by_xxx(value)使用By类型(需要导入By)from selenium.webdriver.common.by import Bydriver.find_element(By.xxx,value)2.元素定位方法的分类(按定位方式):3.八种定位方式的示例:driver.find_element_by_xpath(value)driver.find_element_by_cs

2021-10-18 20:28:26 1547

原创 Selenium自动化测试框架

1.Selenium概述1.什么是框架?框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。框架,其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。2.为什么使用框架?1)自己从头实现太

2021-10-15 19:15:31 9703

原创 Web自动化测试的理解

1.自动化测试的定义软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或者难以实现的测试工作,正确合理的实施自动化测试,能够快速,全面的对软件进行测试,从而提高软件质量,节省经费,缩短软件的发布周期。2.自动化测试的好处1)缩短测试周期 计算机行业更新迭代快速,大量频繁的回归测试消耗时间,自动化测试能够将重复的实行交给计算机去做,加快测试速度。2)避免人为出错 测试人员不可能持续高度集

2021-10-15 16:04:42 6692

原创 xpath元素和css选择器的定位

我们一般进行元素定位使用xpath和css选择器1.什么是xpath?XPath 是一门在 XML 文档中查找信息的语言XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初XPath的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是XPath很快的被开发者采用来当作小型查询语言。2.什么是XML?XML 指可扩展标记语言(EXten.

2021-10-14 18:55:53 204

原创 搭建JMeter+Jenkins+Ant持续化

1.Ant简介apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。Ant它有以下的优点。跨平台性。Ant是纯Java语言编写的,所以具有很好的跨平台性。操作简单。Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个XML文件(构建文件,build.xml)。 Ant通过调用target树,就可以执行各种task。每个task实现了特定接口对象。由于Ant构建文件 是XML格式的文件,所以

2021-10-12 21:42:33 237

原创 Python接口测试之requests

1.简介requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到,Requests是Python语言的第三方的库,专门用于发送HTTP请求2.前提要下载requestspip install requests3.Get请求1.无参数请求r=requests.get('http://www.baidu.com')2.有参数请求payload = {'key1': 'value1', 'key2': 'value2', 'key3': No

2021-10-11 09:13:29 7039

原创 Python单元测试之pytest

前提:需要安装pytest和pytest-html(生成html测试报告)pip install pytestpip install pytest-html安装成功展示:1.命名规则Pytest单元测试中的类名和方法名必须是以test开头,执行中只能找到test开头的类和方法,比unittest 更加严谨setup和teardown运行于测试方法的始末,即:运行一次测试函数会运行一次setup_class和 teardown_class运行于测试方法的始末,但是不管有多少测试函数都只.

2021-10-09 11:46:58 328

原创 Python单元测试之unittest

一:单元测试,集成测试,功能测试单元测试 颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”; 是指对软件中的最小可测试单元进行检查和验证集成测试介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验证“设计”又验证“需求”。主要用来测试模板与模板之间的接口,同时还要测试一些主要的业务功能。功能测试颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求规格说明书什么是白盒测试,什么是黑盒测试白盒:主要应用于单

2021-10-08 18:41:23 254

原创 Python中面向对象的讲解(3)

1.私有属性和私有方法封装的意义:将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;对类的属性和方法增加 访问权限控制。私有权限:在属性名和方法名 前面 加上两个下划线 __类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问;类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问;私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用。私有属性:class Perso

2021-10-07 20:32:06 481

原创 Python中面向对象的讲解(2)

1.集成在程序中,继承描述的是多个类之间的所属关系。如果一个类A里面的属性和方法可以复用,则可以通过继承的方式,传递到类B里。那么类A就是基类,也叫做父类;类B就是派生类,也叫做子类。案例:# 父类class A(object): def __init__(self): self.num=50 def print_num(self): print(self.num+100)# 子类class B(A): passb=B()print

2021-10-07 15:29:34 261

原创 Python中面向对象的讲解(1)

面向对象编程的2个非常重要的概念:类和对象对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类。类用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类是由三部分构成:类的名称类的属性类的方法格式如下:# 类名class Func(object): # 类的属性 i=123 # 类的方法 def f(self): prin.

2021-10-06 16:49:54 1894 4

原创 Python中文件的介绍以及操作

1.文件的介绍什么是文件?如图展示:使用文件的目的:保存数据存放在磁盘,把一些存储存放起来,可以让程序下一次执行的时候直接使用,而不必重新制作一份,省时省力2.文件的打开与关闭1.打开文件在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式)格式:f = open(‘文件’, 'w')或者f = open('文件', 'r')如下图所示:不同的打开文件的方式常见的文件操作有:写,读,追加1.1.写数据(write)格式:

2021-09-27 14:11:21 3987 1

原创 Python中局部变量和全局变量的详解

1.局部变量定义:局部变量,就是在函数内部定义的变量约束:其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的实例:def test1(): a = 120 print("我是局部变量a:",a) a = 240 print("修改之后的局部变量a:",a)def test2(): a =360 print("我是test02函数中的局部变量a",a)test1()test2()注意:局部变量的作用,为了

2021-09-26 19:11:30 8955

原创 Python中函数的介绍以及用法

1.函数的介绍在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数定义函数的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号 : 起始,并且缩进。return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return相当于返回 Non

2021-09-26 18:45:35 816

原创 Python中集合的介绍以及常见操作

1.集合的介绍集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。定义一个空集合格式如下:name=set()注意以下写法为一个空字典,为空默认是字典,如果有数据在根据格式判断name={}print(type(name))2.访问集合的元素通过循环进行访问name={'xiaoming','xiaohong','xiaohua'}for i in name: print(i)3.集合的添加使用add方法:name={'xiaoming','

2021-09-26 11:28:31 954 2

原创 Python中字典的介绍以及常用操作

1.字典的介绍字典是另一种可变类型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:dic = {key1 : value1, key2 : value2, key3 : value3 }键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,如字符串,数字。一个简单的字典实例:dic = {'name': 'xiaohua', 'age': 18, 'sex':

2021-09-24 19:31:24 563

原创 Python中元组的介绍以及常见操作

1.元组的介绍Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。元组的格式:tup=('a','b','c','d')2.访问元组1.元组可以使用下标索引来访问元组中的值,下标索引从0开始例如:tup=('a','b','c','d')print(tup[0])print(tup[1])print(tup[2])print(tup[3])2.还可以通过循环进行访问01.

2021-09-24 11:56:10 1860

原创 Python中列表的介绍以及常见操作

1.列表的介绍列表的格式:变量A的类型为列表namesList = ['xiaoWang','xiaoZhang','xiaoHua']列表中的元素可以是不同类型的例如:testlist=[1,‘a’]2.打印出列表的数据1.我们可以根据下标取值进行打印namesList = ['xiaoWang','xiaoZhang','xiaoHua']print(namesList[0])print(namesList[1])print(namesList[2])2.使用for循环遍历

2021-09-23 19:49:16 265

原创 Python中字符串的介绍以及常见操作

1.字符串的介绍python中的字符串格式:如下定义的变量a,存储的是数字类型的值a = 100如下定义的变量b,存储的是字符串类型的值b = "hello python"或者b = 'hello python'小总结:双引号或者单引号中的数据,就是字符串2.字符串的下标字符串中的“下标”的使用:列表与元组支持下标索引好理解,字符串实际上就是字符的数组,所以也支持下标索引。如果有字符串:name = ‘abcdef’,在内存中的实际存储如下:举例一:myname = “d

2021-09-23 11:50:46 232

原创 Python中if判断语句

1.if 判断语句的基本语法 if 要判断的条件: 条件成立时,要做的事情注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加) 在 python 开发中,Tab 和空格不要混用举例一:需求:1.定义一个整数变量2.判断是否满 18 岁(>=)3.如果满 18 岁,允许进入网吧总结:以上2个例子仅仅是age变量的值不一样,结果却不同;能够看得出if判断语句的作用:就是当满足一定条件时才会执行那块代码,否则就不执行那块代码注意:代码的缩进

2021-09-22 19:51:12 8076 4

原创 Python中break和continue的区别

1.break和continue的区别break 是结束整个循环continue 是结束当前循环进入下一个循环2.举例代码如下a='123456789'for i in a: if i == '6': continue elif i=='8': break print(i)

2021-09-22 18:42:28 258

原创 Python使用循环实现1-100的和

1.实现1-100的和1.for循环源码sum=0for i in range(1,101): sum+=i i+=1print(sum)2.for循环编码3.while循环源码i=1sum=0while i<=100: sum+=i i+=1print(sum)4.while循环编码2.实现1-100之间偶数的和1.for循环源码sum=0for i in range(1,101): if i % 2 ==0:

2021-09-22 17:10:51 37584 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除