
Python自动化从入门到放弃
文章平均质量分 73
Python编程基础+PythonUI自动化,PythonApp自动化,Python接口自动化测试框架的搭建,生成报告发送邮件;jenkins持续集成
花落同学
每天进步0.1
展开
-
Python接口自动化
4 接口自动化4.1 使用python实现接口自动化如果不了解接口测试可参考https://ke.qq.com/course/4092904使用Python的request库实现接口测试:import jsonimport requests#使用session管理:#1.可以自动关联set-cookie里面的内容#2.可以加快与服务器的连接速度session=requests.session()#auth接口#发包和收包#这里一般是要放参数,使用data入参还是json入参,根据请原创 2021-12-12 16:41:16 · 6702 阅读 · 1 评论 -
Python+Appium自动化测试框架
3.5.1 Appium录制从左往右依次:select Element:选定元素可以进行操作Swipe By Coordinates:滑动坐标Tap By Coordinates:点击坐标点(点击对应坐标)Back:返回Refresh Source:刷新Start Recoding:录制Search for element:搜索元素手写Xpath 格式://*[@属性=‘属性值’] 属性一般是text,能唯一定位元素即可Cope XML Source to Clipboard原创 2021-12-12 15:22:18 · 3539 阅读 · 0 评论 -
Appium连接手机
手机可以是真实手机,也可以是模拟器推荐的模拟器(mumu、夜神),对于真实手机我们还要进行物理连接即通过USB数据线和电脑连接在一起。并打开手机的USB调试模式(根据手机型号百度一下,我的手机型号是小米6),我们这里使用真机。软件连接:使用abd连接:adb devices (查看当前已经连上的手机,如果有物理连接但是没有软件连接的手机,会自动连接)c2b93af1 deviceAppium组成:Server端:服务器发布指令给android Sdk点击 start in原创 2021-12-12 15:10:43 · 4349 阅读 · 0 评论 -
常用adb命令
3.3.1 基础命令:adb devices 查看设备abd start-server | adb kill-server 启动/停止adb服务abd -s 指定设备进行操作adb connect/disconnect 连接指定设备3.3.2 应用命令:adb install <apk文件名> 安装应用到手机adb uninstall <包名> 卸载手机上的应用adb shell am start原创 2021-12-12 15:09:02 · 1916 阅读 · 0 评论 -
APP自动化原理+环境搭建
3.1 APP原理1、客户端运行脚本的时候,调用任何的appiumAPI,都会向Appium Server端post一条HTTP请求2、当开启appium服务器的同时就开启了监听端口,Appium Server端接收到请求后,会发送到Android SDK环境;3、Android SDK 操作手机APP,从而实现APP自动化。3.2 环境搭建3.2.1 Android sdk 安装在安装Android SDK之前需要先安装jdk1.8版本(可参考JMeter的安装)Android Sdk下载原创 2021-12-12 15:07:32 · 1998 阅读 · 0 评论 -
Pytest集成excel
2.10.1 反射函数反射函数概念:它可以把字符串映射到实例的变量或者实例的方法然后可以去执行调用、修改等操作。它有四个重要的方法:• getattr 获取指定字符串名称的对象属性• setattr 为对象设置一个对象• hasattr 判断对象是否有对应的对象(字符串)• delattr 删除指定属性在数据驱动中使用的是getattr方法,通过读取excel表格的数据确定关键字和参数,执行对应的代码。先看下语法:func=(obj,method_name)func(*args)obj:关原创 2021-11-28 20:26:58 · 1363 阅读 · 0 评论 -
Pytest框架与应用
2.9.1 PO设计模式在说Pytest之前,我们先来看一下什么是 PO(Page Object)设计模式。为什么要引用PO设计模式?PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰。PO(Page Object)页面对象模型是一种设计模式,用来管理维护一组web元素的对象库。在PO模式下,应用程序的每一个页面都有一个对应的page class,每一个page class维护着该web页的元素集和操作这些元素的方法。2.9.2 Pytest安装和使用2.9.2.1 Pyt原创 2021-11-28 20:10:16 · 1374 阅读 · 1 评论 -
图片验证码破解
2.8图片验证码破解在测试web平台时,难以避免的就是登录,登录的时候就会需要输入验证码!有的是图型验证码有的是滑动验证码,那么在自动化中如何破解验证码?这里只介绍简单的图片验证码。一般来说破解这种图形验证码,有两种方式一种是使用第三方接口,另外一种就是自己训练,训练这种就算了!比较麻烦,我是使用的第三方是超级鹰。先说下思路哈,我们可以通过元素截图,获取到验证图片,把图片保存在python工程下面,然后把图片传送给第三方接口,从接口获取到图片中的验证码,保存到一个变量里面,然后将变量的值输入到验证码的原创 2021-10-19 10:29:10 · 4986 阅读 · 0 评论 -
Python自动化脚本+关键字封装理念
2.6 第一个自动化脚本这里我们简单写一下百度搜索腾讯课堂的脚本,方法在2.4、2.5章节已经介绍过了,这里就是带看一下代码的实现,到底是怎么写的!如果我们需要其他操作就driver.对应的方法就可以了。from selenium import webdriverdriver=webdriver.Chrome() #注意Chrome的C是大写driver.implicitly_wait(10) #隐式等待#访问网址from selenium import webdriverdriver=web原创 2021-10-19 09:54:37 · 1511 阅读 · 1 评论 -
Selenium自动化特殊场景处理
2.5 Selenium自动化特殊场景处理2.5.1 切换iframe在自动化中如果不切换iframe,会定位不到元素。示例:场景:我们要上传图片,修改自己的头像信息,我们定位到这个input标签了,但是执行代码的时候会提示no such element是因为这里有个iframe标签,没有切入到这个iframe就定位不到这个元素。我们看一下Selenium进入iframe和退出iframe的方法吧!进入iframe:driver=webdriver.Chrome()ele= driv原创 2021-10-19 09:44:23 · 483 阅读 · 0 评论 -
Selenium常规对象接口
2.4 Selenium常规对象接口2.4.1 浏览器窗口方法selenium中提供了直接在代码中操作浏览器窗口的方法。常见的方法如下示例:driver = webdriver.Chrome()#设置浏览器窗口最大化driver.maximize_window()#访问网页使用get方法driver.get(“https://www.baidu.com”)#设置浏览器的宽高driver.set_window_size(800,600)#获取浏览器的大小driver.get_windo原创 2021-10-14 11:42:57 · 672 阅读 · 2 评论 -
8大元素定位方式
2.3 八大元素定位方式2.3.1 ID通用标签的ID属性进行定位,一般来说如果有id就用id定位,id的值唯一:语法:driver=webdriver.Chrome()driver.find_element_by_id(‘id值’)2.3.2 NAME通过标签的NAME属性进行定位:语法:driver=webdriver.Chrome()driver.find_element_by_name(‘name值’)2.3.3 TAR_NAME通过标签名进行定位(一般不用):语法:原创 2021-10-12 15:29:40 · 2812 阅读 · 0 评论 -
Selenium基础
2.2 Selenium基础2.2.1 Selenium简介Selenium是Jason Huggins在2004年发起的项目,当时他在Thought Works公司开发系统,该系统使用了大量的JavaScript。在IE能执行,但是在其他浏览器执行就会出现大量的bug, 当时也没有较好的方法,所以就自己开发喽,他们还是集中在JavaScript上,使用了基于表格的语法替代了原始的JavaScript,这种做法支持那些编程经验有限的人在HTML文件中使用关键字驱动的方式来编写测试。该工具最初称为Sele原创 2021-10-12 15:25:22 · 390 阅读 · 0 评论 -
Python自动化引言
2 web UI自动化自动化测试一般分为UI前端自动化测试和接口后端自动化测试。自动化测试是为了减少枯燥的的重复性验证工作,提升效率,那么只要有重复验证的必要,UI自动化测试就有存在的价值。2.1 自动化测试的5W1HWhy:提升测试效率,提高软件产品质量。省去枯燥的重复性工作,用更多时间做更重要的艺术化的测试。What:将功能测试用例通过脚本实现,让机器代替人工来完成用例的执行。也就是用脚本模拟人类对前端界面的操作。UI自动化测试的用例来源于功能测试,通常从其中选择最核心的功能的正常流程进行覆盖原创 2021-10-12 15:22:53 · 224 阅读 · 0 评论 -
Python异常处理
1.10 异常处理在Python中对于程序异常的处理,主要使用try …except的语法格式。我们来看一下几种try…exception的用法。1.try …except语句语法格式:try: block1except[ExceptionName [as alias]]: block2说明:block1:表示可能出现错误的代码块ExceptionName [as alias] :可选参数,用于指定要捕获的异常,其中ExceptionName表示要捕获的异常名称,如果在其右侧加上原创 2021-10-08 09:43:05 · 146 阅读 · 0 评论 -
Python模块
1.9模块在Python中,模块主要有三种:自定义模块,标准库中的模块(称为标准模块)以及第三方模块。模块是什么?在Python中一个扩展名为“.py”的文件就称之为一个模块。我们在使用模块时就要导入模块,模块的导入方式有两种:第一种:import语句导入模块,语法格式:import modulename [as alias]modulename要导入模块的名称;[as alias],为给模块起得别名,可通过别名也可以使用模块第二种:使用from……import语句导入模块,语法格式:fro原创 2021-10-08 09:32:23 · 359 阅读 · 0 评论 -
Python面向对象程序设计
1.8.1面向对象概述 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 面向对象中的对象(Object),通常是指客观世界中存在的对象,具有唯一性,对象之间不相同,各有各的特点,每一个对象都有自己的运动规律和内部原创 2021-07-06 22:43:22 · 1508 阅读 · 2 评论 -
Python函数
1.7函数试想一下,我们在编程时候,某一功能用到很多次,我们每用到这个功能就要写一次代码,这样就会非常的麻烦,这个时候就要使用到函数,我们可以把这个功能写成一个函数,如果使用这个功能,直接调用就可以了。1.7.1函数的创建的调用1.函数的创建创建函数也称为定义函数,可以理解为一个具有某种用途的工具。使用def关键字实现。具体语法格式如下:def functionname([parameterlist]):[‘’’comments’’’][functionbody]参数说明:functi原创 2021-07-04 14:00:46 · 1329 阅读 · 0 评论 -
Python字符串及正则表达式(二)
1.6.2正则表达式在处理字符串时,经常会有查找符合某些复杂规则的字符串的需求。正则表达式就是用于描述这些规则的工具。说白了 正则表达式用来判断某些字符串是不是符合正则表达式的规则。1.6.2.1 行定位符行定位符就是用来描述字符串的边界,”^”表示行的开始,”&”表示行的结尾^yz该表达式表示要匹配字符串yz开始的位置是行头yz&该表达式表示要匹配字符串yz结束的位置是行尾1.6.2.2元字符除了前面介绍的元字符”^”和”&”外,正则表达式里还有更多的元字符。原创 2021-07-03 21:50:53 · 426 阅读 · 0 评论 -
Python字符串及正则表达式(一)
1.6.1字符串常用操作1.6.1.1拼接字符串使用”+”运算符可以完成对多个字符串的拼接,”+”元素安抚可以连接多个字符串并产生一个字符串对象示例代码:teacher ="Will"content="主要负责Python自动化"结果:Will主要负责Python自动化字符串不允许直接与其他类型的数据拼接。示例代码:name="李二狗"course="语文成绩是"score=97 #(int类型)print(name+course+score)结果:Traceback原创 2021-07-03 14:47:40 · 987 阅读 · 0 评论 -
Python序列
1.5.1序列序列是什么?序列在程序中是一种常用的数据存储方式,几乎每一种程序设计语言都提供了类似的数据结构,JAVA和C中的数组;在python中内置了5个常用的序列结构,分别是列表、元组、集合、字典和字符串。序列就是一款用于存放多个值得连续内存空间,并且按照一定顺序排列,每一个值(称为元素)都分配了一个数字,称为索引或者位置。通过该索引可以取出相应的值。在Python中,序列的主要结构有列表、元组、集合、字典和字符串。对于这些序列结构有一下几个同通用的操作,其中,集合和字典不支持索引、切片、相加和原创 2021-07-02 14:37:58 · 293 阅读 · 0 评论 -
Python流程控制语句
1.4.1程序结构计算机解决某个问题时,主要有3种情形,分别是顺序执行语句、选择执行部分语句和循环执行部分语句。程序设计中的3种基本结构为顺序结构、选择结构和循环结构。顺序结构就是从上到下执行,选择结构就是if 判断,是执行条件1,否执行条件2。循环结构就是while和for语句1.4.2选择语句选择,是每个人都要做的事情,比如你要选择上哪所大学,你中午要吃什么,这都是选择,而程序的选择就是通过选择语句进行选择。选择语句也称之为条件语句。1.if语句格式,最简单的if语句:if 条件表达式:原创 2021-06-30 16:38:53 · 136 阅读 · 0 评论 -
Python语言基础
1.3.1保留字和标识符1.3.1.1保留字保留字是Python语言中一些已经被赋予特定意义的单词。在使用中不可以把这些保留字作为变量、函数、类、模块和其他对象使用。Python中保留字可以通过执行代码进行查看:import keywordprint(keyword.kwlist)结果如下:['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def原创 2021-06-29 10:52:48 · 636 阅读 · 0 评论 -
Python简介+Python环境搭建
1.1Python简介Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。Python的设计哲学为优雅、明确、简单,实际上Python始终贯彻着这一理念,以至于现在网上流传着“人生苦原创 2021-06-28 08:12:55 · 193 阅读 · 0 评论