自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

许西城的博客

记录点滴

  • 博客(53)
  • 资源 (2)
  • 收藏
  • 关注

原创 python总结:关于pip命令的一切,到底怎么用?

pip怎么换源才能秒下,怎么在线安装,怎么离线安装,怎么批量安装,怎么用代码一键安装,whl和tar.gz怎么用,pip还有什么命令,都有什么用?这篇文章里都有,快来看!!!!!

2023-04-26 16:51:21 6131

原创 使用python下载wallpaper Engine订阅的壁纸/视频

通过这篇文章,你可以了解如何使用python一键下载所有的wallpaper Engine本地资源,包括图片和视频文件。

2023-04-22 17:05:39 2457

原创 关于web安全测试在功能测试中的应用

写这篇文章的起因,是因为我最近在看安全测试方面的书,所以想来记录下一些感想,这几本书是:《白帽子讲web安全》《WEB安全测试》《黑客攻防技术宝典Web实战篇》,里面关于技术方面的东西还没学会,但是我对于安全测试有了大概了解和思路,并且希望能在功能测试中应用。

2023-04-21 13:09:47 1074

原创 termux基础入门:论如何在手机上学习linux

学习资料一、关于termux1.1起因:由于想要入门学习linux,所以下意识的在电脑上安装虚拟机,装linux系统来部署环境;一个偶然的机会,我发现了一个叫termux的软件,作用是作为安卓手机的控制台终端。通过终端可以基于安卓本身的linux系统来运行各种指令。这个神奇的软件本身也仅仅只有200k大小(然而等你下载了一堆依赖库你就会发现,它占用的存储空间其实会很大)...

2020-08-08 01:25:12 6893 4

原创 接口自动化笔记02:递归的原理是什么?怎么写一个获取多层结构中值的方法?

递归的原理,递归怎么去理解,递归怎么去使用。如果一个函数在内部调用自身本身,这个函数就是递归函数。1、递归的范围:2.递归的返回:return3.递归的次数限制:栈溢出

2019-11-27 10:40:33 1329 3

原创 接口自动化笔记01:ddt模块调用数据

简介DDT模块主要用于遍历测试数据,在一个测试用例方法中,可以循环遍历入参的所有数据组情况。适用情况:当测试一个接口,不同的测试入参数据组合时,比如登录接口,需要验证不同的情况(账号错误、密码错误、验证码错误等)如何使用添加ddt 模块(pycharm-setting-project Interpreter,点击+号搜索ddt添加库)代码中 import ddt需要在运行测试用例...

2019-10-30 10:44:43 1387

原创 Postman接口测试03-运行接口用例集collection,进行“性能测试”

在postman中,我们在一个collection中,可以根据模块、流程,来创建我们的测试用例集;如果想要整体的把所有流程全部跑一遍,就需要直接运行整个测试用例集合。一、如何批量运行用例集1.1选中一个测试集合进入运行界面点击测试集合collection的三角符号,点击run,此时postman会打开一个新的界面,单独运行这个测试用例集。1.2 测试集合运行页面配置项在这里有一些复杂的...

2019-09-17 23:00:39 2204

原创 Postman接口测试02-设置全局变量、参数传递、断言

我们的web网站一共有几十个接口,测试的时候如果要切换环境,这个时候要每个接口都要修改url的根路径,一个一个的改也太麻烦了;还有时候我们经常需要用到上一个接口的返回值,来作为下一个接口的数据来使用,要怎么把参数传递过去呢;作为接口测试的话,验证接口返回结果是否正确,需要断言来判定这个接口的运行结果是否符合期望,这个时候又该怎么做。

2019-09-16 23:32:49 5069

原创 Postman接口测试01-使用postman运行接口

postman是一个模拟发送接口请求的软件,一般用来进行接口调试以及测试。最近使用postman这个工具比较多,所以专门整理总结一下关于postman的使用经验。一、postman的下载和使用说明postman官方下载地址:https://www.getpostman.com/downloads/postman官方使用文档:https://learning.getpostman....

2019-09-12 19:33:48 1770

原创 关于我在敏捷web测试流中的工作流程整理

关于测试流程的一个整理,起因是在工作中的时候,发现真正的工作流程没有那么的严格和细致,或者说没有这么死板和繁琐,所以具体执行的过程会根据项目(或者看心情)来简化工作流程步骤。但是简化后的流程会有遗漏和不规范的地方,实际过程中也会由于缺失了一些环节,影响开发、测试过程或者最终上线;比如需求的不规范导致快上线了还不明确需求情况、开发进度不明确导致压缩测试时间、测试流程不严谨导致生产问题,各种各样等...

2019-07-31 23:50:05 1387 2

原创 读书笔记:《软件测试工程师面试指导》-蔡为东

关于读书的感受:这本书是一本关于软件测试工程师面试指导的书,其实80%是介绍作为一个测试工程师需要的基础知识,以及工作中需要的一些知识技能;与其说是一本面试指导书,不如说是测试基础知识详解。而我读完这本书后,列了一个读书的大纲,整理了作者这本书的一个主要框架;由于作者主要做本地化测试方向,所以需要的部分知识会偏重于这方面,但是作为测试岗位来说,所用的测试方法、测试流程、测试思想都是一样的。...

2019-06-03 12:44:39 1098

原创 自动化测试项目中的错误总结

在做自动化项目中,会出现很多错误和调试,所以在这里整理总结一下,具体如下:1.eclipse无法输入中文这是最开始时,使用eclipse写python时遇到的一个问题,当时困扰了很久。使用组合快捷键:Ctrl+Shift+Eeclipse默认切换编辑器,此快捷键导致。重新按此快捷键切换。2.webdriver启动的firefox无法显示插件由于当初使用firefox火...

2019-05-14 10:33:44 1500

原创 pyhton自动化项目编码以及命名规范

对于任何一个编程项目来说,都需要一个编码的规范以及标准,这里整理了一些Google python的命名规范以及python语言PEP8的编码规范。一、命名规范命名示例:module_name, 模块package_name, 包ClassName, 类method_name, 方法ExceptionName, 异常function_name, 函数GLOBAL_VAR_NAME,...

2019-05-10 15:13:59 1411

原创 web自动化测试终篇(28):总结我理解的ui自动化

①需求稳定,不会频繁变更自动化测试最大的挑战就是需求的变化,而自动化脚本本身就需要修改、扩展、debug,去适应新的功能,如果投入产出比太低,那么自动化测试也失去了其价值和意义;折中的做法是选择相对稳定的模块和功能进行自动化测试,变动较大、需求变更较频繁的部分用手工测试;②多平台运行,组合遍历型、大量的重复任务测试数据、测试用例、自动化脚本的重用性和移植性较强,降低成本,提高效率和价值;...

2019-05-04 23:05:13 9271 4

原创 web自动化测试第27步:连接数据库(mysql的ssh和明文连接)

在某些场景,我们需要通过从数据库取值来进行赋值、比对断言,所以就需要连接数据库的方法,这里着重介绍一下关于如何使用python连接mysql数据库,其中包括账号密码连接mysql和ssh连接mysql,以及账号密码连接oracle数据库。一、账号密码连接mysql的步骤1.导入库python连接mysql需要导入:pymysql库我们直接导入:import pymysql.cu...

2019-04-24 22:20:19 2091

原创 web自动化测试第26步:邮件发送测试报告(明文、ssl、tls)

在我们运行完整个项目后,已经生成了测试报告,一般自动化会在本地或者公司服务器上运行,那如何获取自动化测试的运行结果呢,此时就需要把测试结果以邮件的形式发送到邮箱,这样就可以在测试完成的第一时间知道测试结果。所以我们需要来学习一下如果使用python第三方库来发送邮件。其实关于发送邮件的方法,复制粘贴过来,修改下参数、账号、密码后,直接使用就可以了,再把数据写到配置中参数化基本就搞定。...

2019-04-19 18:05:56 1554

原创 web自动化测试第25步:加入log日志

日志是一个成熟的系统里不可或缺的一部分,对于自动化测试框架来说,最大的作用大概在于可以取代print()方法,并且可以在日志文件中回溯。这里我们引入log日志类,来代替print()记录输出测试过程中的关键信息。一、日志等级在日志中有五个等级debug、info、warning、error、critical等级 等级数值 形容 debug 10 详细信息 ...

2019-04-04 18:41:58 1610

原创 web自动化测试第24步:使用测试报告模板(HTMLTestRunner、BeautifulReport)

在运行完测试用例后,需要用一个测试报告来作为自动化运行的一个报告成果,一般是统计用例运行的成功失败,这里就给大家引入两个测试报告模板HTMLTestRunner以及BeautifulReport,这里基于POM设计模式实现这篇文章中的代码,来进行改造以及介绍具体的使用。HTMLTestRunnerBeautifulReport一、模板的下载大家可以网上搜索这两个测试报告模板...

2019-04-03 22:30:53 3962

原创 web自动化测试第23步:数据分离(类变量、yaml、excel)

在ui自动化中,经常会用到数据的存储和读取,这里主要介绍一下如何处理测试中经常用到的数据。一、类变量一般习惯把元素定位地址作为类变量存储,因为这样对于调试纠错比较方便,书写调用也较简单。1.1本类中调用类变量例如:Demo类中,在类下申请一个变量name,如果这个类中的方法要引用name,需要self.name这样的格式调用。demo_class.pyclass Demo...

2019-03-29 18:02:49 1988

原创 web自动化测试第22步:POM设计模式的实现

关于pom设计模式(project Object model/PageObject),我的理解是一种底层、逻辑、用例的分层,在项目还没有开发出来时,就可以开始写UI自动化脚本了,在开发完成后,再进行元素定位的适配以及调试;而且也可以多人共同维护开发脚本,更方便大家合作。这一节主要来介绍一下如何从零开始搭建这几个层级。一、driver层的封装这一层主要是对于webdriver方法的封装,...

2019-03-28 17:36:31 5365 3

原创 web自动化测试第21步:UI自动化框架结构以及思路

在学会使用unittest后,实际上UI自动化的基础骨架已经搭建起来了,剩下的就是利于这套框架,增添一些我们需要的功能,目前看来,我们已经可以使用此框架来批量运行用例,欠缺的是整体的思路以及一些其他功能细节,比如日志记录、封装webdriver、读取数据库等功能的实现;在网上看了很多别人的框架,以及加上自己的理解后,我在这里分享一下我最终所整理的这套框架。一、框架结构这里是我的一个框架...

2019-03-11 22:34:01 2616

原创 web自动化测试第20步:测试用例断言

在运行测试用例时,需要判断用例是否执行成功,此时需要有一个我们期望的结果来进行验证。这里unittest中,如果一个case执行的过程中报错,或者我们判断结果不符合期望,就会判定此条用例执行失败,判断的条件主要是根据断言来实现,这节主要学习下断言的使用。一、断言的方法1.1 TestCase类中的部分断言方法判断条件是否成立assert_(expr,msg)expr:判断条件,...

2019-03-07 17:18:07 4885 1

原创 web自动化测试第19步:使用unittest运行多个测试用例集

上节课,我们开始使用unittest整合测试用例,但是一个项目中,测试用例会有很多,当有很多的测试文件py脚本时,需要一个测试用例集来统一运行,这里就需要使用unittest中的批量运行来跑脚本。一、常用方法详解创建一个测试用例套件unittest.TestSuite(Iterable_testType)Iterable_testType:可迭代的测试用例集合 运行测试用例集...

2019-02-15 15:49:16 3313 2

原创 web自动化测试第18步:单元测试框架unittest

在了解了ui自动化的方法后,实际应用时需要按照测试用例的形式来书写,否则执行起来太过冗余,这里引入一个测试框架:unittest,使用这个框架中编写用例,会更方便管理和运行。一、unitest基础写法格式1.1引用导入import unittest并且需要新建一个类,继承unittestclassDemo(unittest.TestCase):1.2格式代码示例备...

2019-02-14 18:06:35 1568 2

原创 web自动化测试第17步:不会用xpath轴,还说你懂元素定位?关于xpath元素定位详解最终版

你可以不会框架,不会设计模式,但是你不能不懂元素定位,这篇文章教你成为定位大神!!!!!快来学习xpath语法!!

2019-02-13 18:07:35 2240 2

原创 web自动化测试第16步:WebDriverWait元素等待和全局设置

由于现在部分web应用加载方式的选择,页面会需要一定时间逐渐加载完毕,也就是说有的页面元素先加载出来,有的元素后加载出来。如果直接定位所查找的元素的话,可能会由于此元素尚未加载完毕找不到元素从而报错,由于网络不稳定这种情况出现的几率会大很多,一般解决方法的话,time.sleep()函数可以避免一些这种状况,但是缺少了灵活性。在selenium中有关于等待的方法可以比较灵活的解决这个问题,这次主要...

2019-02-11 15:55:47 2900

原创 web自动化测试第15步:使用js语句

在selenium中,有方法可以运行js语句,这样的话对于一些selenium中没有的操作,或者实际编写UI自动化中遇到的疑难杂症,多了另外一个解决思路!!!简直像是打开了新世界的大门一样。比如我编写ui自动化脚本遇到一个问题,除了思考python和selenium中哪些方法可以解决之外,还可以网上搜索或者参考学习下js的api文档,看能否通过js的功能来在实际测试中解决问题。js本身是很强大...

2019-02-02 23:24:09 1625

原创 web自动化测试第14步:对于cookie的操作

Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。在自动化测试过程中,我们如果想要进行免登陆操作的话,可以通过写入cookie的方式来实现,需要注意的是,网站cookie有时效性,对于关闭浏览器后失效的临时cookie网站来说,无法使用cookie来实现免登陆。接下来具体看一看UI自动化中如何对网站...

2019-02-02 15:22:33 1943

原创 web自动化测试第13步:元素定位(2)(webdriver的所有定位方式详解)

一、webdriver中所有的定位方法介绍      在第二节里,我们就接触了webdriver中的8种基础定位方法,但是当我们在pycharm中打出:driver.find时,代码提示中其实是有18个被选项的,这次我们就来讲讲剩余这10种定位方法都是什么,以及它们之间存在的关系。首先有两个万能定位方法:find_element()寻找符合条件的第一个元素 find_elements...

2019-01-17 18:03:52 2237 1

转载 web测试方法总结

自己在去年曾经在网上找了一些测试的方法,然后经过自己的整理从而整理出来这么一份web测试方法,应该算是比较全面的吧,现在分享一下,希望大家指正。目录1. 登录测试2. 注册测试3. 导航条测试4. 链接测试5. 快捷键测试6. 按钮测试7. 输入框测试8. 下拉框测试9. 单选框测试10. 复选框测试11. 日期控件测试12. 查询结果列表测试13. 搜索功能测试14.

2017-11-09 18:18:53 3474 2

原创 Robotframework(4):创建变量的类型和使用

实际的测试过程中,编写脚本时,我们需要创建一些变量来暂时或者永久性的存储数据,那么在Robotframework中该怎么做呢,我们可以通过图形界面,在每一个suite中我们可以创建变量,而Robotframework提供了三种变量类型来供选择,一种单个数据 Scalar、一种是列表List、一种是字典Dictionary,下面我们来学习一下如果通过Robotframework来创建这些变量...

2017-08-30 18:09:56 14975

原创 Robotframework(3):使用pycharm编写和运行RF脚本

我们在使用Robotframework时,经常编写脚本的人或许会不习惯,不过没关系!我们在熟悉RF的语法后,可以使用编辑器来编写和运行。下面就通过使用最多的python编辑器pycharm来演示一下如何配置和运行RF的脚本。1.下载pycharm我们可以通过官网来下载软件:http://www.jetbrains.com/pycharm/当然,也可以通过百度云链接下载(三个版本任...

2017-08-24 14:35:14 12143 1

原创 Robotframework(2):创建RF第一条可执行的用例

上篇,我们说了如何配置基础的环境,配置好了python2、wxPython 、robotframework、robotframework-ride,这篇我们来根据已经配置好的环境来简单介绍一下RF(Robotframework)并且来学习如何创建编写一条用例,并且执行它!!!1.安装RF的selenium库对于自动化测试的话,selenium库是必不可少的,而RF也有自己的seleni...

2017-08-23 15:45:18 5163

原创 Robotframework(1):配置基础环境

最近对Robotframework这款基于python的框架比较感兴趣,于是想着来研究一下,下面我们来先配置一些基本环境1. 安装Python2.72. 安装wxPython2.8-win32-unicode3. 使用pip 安装robotframework4. 使用pip 安装robotframework-ride5. 运行ride.py验证安装成功1.下载基础的环...

2017-08-22 15:44:53 1289

原创 web自动化测试第12步:selenium中下拉框的解决方法(Select)

在之前,遇到下拉框的时候我们可以用两次点击来选择我们需要的选项,不过对于下拉框,我们的webdriver中有封装的Select包单独对于下拉框有一套处理的方法,我们可以来学习一下,然后在测试的时候根据不同的情况来选择需要哪儿种方法。1.select包方法的使用示例以及定位方式select下拉框的定位2.select包内的方法详解1.获取option元素op...

2017-08-04 20:41:47 15585 2

原创 web自动化测试第11步:switch_to包详解:切换handle、frame、alert

在之前的三节里,我们分别对窗口切换(handle)、frame切换、弹窗(alert)切换做了详细的解释,但是我们在写代码的时候发现,这些方法都被编辑器划伤了一条横线,但是方法还是可以正常使用,只是目前的pycharm不推荐你继续这样使用了(有新的方法可以替代它),那如果我们不使用这些方法的话,我们该怎么去完成切换窗口、frame这些操作呢?所以我们来学习一下替代这几个方法的switch_to包。...

2017-08-03 23:13:46 33263 2

原创 web自动化测试第10步:获取浏览器弹窗alert、自定义弹窗以及其操作

在平时的测试中,有时候会遇到弹窗的问题,有的是浏览器弹窗(alert)、有的是自定义弹窗;这节我们主要来讨论一下关于浏览器弹窗和简单的自定义弹窗。一、关于alert弹窗的方法备注:部分方法为老写法,官方已经不推荐使用;点击这篇文章查看切换alert的新写法。switch_to_alert(): 定位到alert弹窗,返回一个弹窗的对象dismiss(): 对弹窗对象的取消操作(相当...

2017-08-02 11:39:20 12418 1

原创 web自动化测试第9步:切换页面frame

在实际的测试中,有时候我们会经常遇到找不到元素的问题,这也是自动化测试中经常会遇到的情况,我一般首先考虑的就是是否由于页面中嵌套了frame,从而导致定位不到元素,如果页面代码中没有iframe层,再根据报错信息来考虑原因是否是:元素被隐藏,定位路径不正确等情况。一般下列情况中页面可能包含frame嵌套:后台管理系统中,页面中有一些独立的功能模块,特征是页面显示切换了模块,但是地址栏的URL并...

2017-07-28 23:08:00 5866 7

原创 web自动化测试第8步:浏览器不同页签之间的切换(handle)

我们之前在《web自动化测试第3步:元素的基础操作和浏览器基础操作》这一节里最后预留了一个悬念,就是我们通过点击打开了一个新的页面,这时浏览器同时打开了两个页面,我们用close()方法关闭,却是关闭的初始页面,这时我们如果在新打开的页面来查找元素定位,也一定是定位不到的,所以我们要用到切换浏览器页签:也就是切换句柄handle切换的方法。一、切换页签(句柄handle)的基础用法:备注:...

2017-07-27 11:08:48 5732 2

原创 webdriver浏览器版本驱动对应以及下载(火狐-谷歌-IE-edge-safari浏览器)

写在前面:对于webdriver和各个浏览器的版本的对应,我最近发现浏览器驱动的对应在selenium库的源码里都有提及,路径是:python>site-packages>selenium>webdriver>浏览器名称的文件夹>service.py中,里面会有一个指向官网的url地址,这里我把源码里和自己总结的地址汇总如下。谷歌浏览器驱动版本对应以及下载:...

2017-07-25 18:48:32 34114 4

BeautifulReport测试报告模板

BeautifulReport,基于python3,我不生产测试报告,我只是测试报告的搬运工,从github上的BeautifulReport粘过来的 这个报告比较好看,而且有测试类的筛选,我觉得挺好的。 压缩包有两个文件 BeautifulReport.py report_template BeautifulReport.py 文件中: 52行配置report_template文件位置

2019-04-03

HTMLTestRunner-基于python3-日志显示-截图显示

经过总结网络上其他人的版本,加入了截图和日志正常显示的功能,基于python3,

2017-05-23

空空如也

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

TA关注的人

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