自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 鼠标与键盘操作事件

鼠标事件鼠标事件包含在ActionChains类中,导入时只需要:from selenium.webdriver.common.action_chains import ActionChains导入类即可:常用的方法有:context_click() ——右键单击double_click() ——双击drag_and_drop(鼠标按下的元素,鼠标释放的元素) ——拖动move_to_element() ——鼠标悬停在一个元素上click_and_hold()

2020-05-31 14:58:52 496

原创 断言函数-RF

测试用例的目的是要验证一些操作否符合我们的预期结果,所以在测试用例中,断言函数是必不可少的一项。我们做的每一步操作都会有预期的结果,为了保证操作得到的结果符合预期,我们需要在测试用例中添加断言,来保证实际结果和预期结果一致。那么先让我们来认识一些常用的断言函数:1、should be equal 与should not be equal我们在第一行设置一个变量,并赋值1,第二行,意思是${var}应该等于1运行:会发现只是打印出了变量的值,一般来说,断言函数只起断言作用,符合断言没有任何操作,不

2020-05-30 22:09:10 1615

原创 日志记录——logging模块

Logging:日志记录是为了跟踪记录软件运行时,发生的事件,包括出错,提示信息等等。log日志级别:日志级别大小关系为:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET;模块默认级别为WARNING,即当且仅当等于或高于WARNING的事件会被记录下来,其余的忽略不计。1、打印到屏幕:import logginglogging.warn("this logging warn")logging.info("this

2020-05-30 19:45:35 275

原创 一篇文章高效定位iframe

今天跟大家分享的是如何高效的定位iframe。我们来看一段最早的代码:# coding: utf-8from selenium import webdriverfrom time import sleepdriver = webdriver.Firefox()driver.get("http://blog.hexun.com/")driver.find_element_by_id("read_btn").click()driver.maximize_window()sleep(3)drive

2020-05-30 14:58:56 476

原创 URL与视图函数的映射

今天跟大家讲的是URL与视图函数的映射URL与视图函数的映射url与视图函数的映射是通过@app.route()装饰器实现的。1、只有一个斜杠代表的是根目录——首页。# coding: utf-8from flask import Flask# __name__是用来确定flask运行的主文件app = Flask(__name__)  # type: Flaskapp.debug = True# app.config.from_object('configs')@app.ro

2020-05-29 21:32:31 627

原创 模板内部赋值-set

有时候需要在模板内部进行赋值,这时候就要用到set了:语法{% set 变量名='值' %}使用在index文件夹下新建myset.html文件,代码:<!DOCTYPE html><html lang="en"><head>    <meta charset='UTF-8'>    <title>set赋值</title></head><body> &n

2020-05-29 19:19:29 428

原创 include标签—引用文件路径

今天给大家讲解的是include标签,在打代码的时候总会出现一些重复的样式,这个时候就可以用include标签来减少打代码的次数。文件名index.html,代码:{% from 'macros/forms.html' import input %}<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>宏&

2020-05-29 14:35:50 960

原创 一篇文章学习html【经典案例】

html叫做超本文标记语言,注意它只是标记语言,不是编程语言。编写规范:由标记(html, div, p, h1等)组成标记成对出现(…),也有例外,比如、标记有层级关系<html>    <head>    </head>    <body>    </body><html>标记有内容文本或属性<title

2020-05-28 21:47:16 619

原创 UnitTest单元测试框架解析【实用篇】

UnitTest是展开自动化测试的基础——这个框架很重要!首先我们先自己写一个测试类:1、被测试类 Widthget.py:# coding: utf-8class Widthget:    def __init__(self, size=(10, 10)):        self._size = size    def getSize(self):        retur

2020-05-28 19:37:51 264

原创 自动化测试需知的4项测试工具

一般来说学自动化会建议大家先学selenium,因为最早的时候,自动化就代表selenium,进入测试行业就开始做接口测试,而且现在基本每个公司都需要接口测试。今天就和大家聊一下接口测试的工具。一、Robot Framework机器人框架。之所以把它排在第一位,是因为最早学的这个,对这个框架可以说是情有独钟。现在想想发现这个框架并不是最方便和快捷的。需要写关键字,再调用写好的关键字来实现接口测试。唯一方便的是在一个接口有多个用例的时候还算方便,因为只需要调用关键字,参数可以只写省去key值直接写va

2020-05-28 15:49:44 319

原创 【案例演练】测试器与模板继承

测试器测试器即对文件内变量名、变量类型等文件进行判断语法{% if 判断条件 %} ...代码块...{% elif 判断条件 %} ...代码块...{% else %} ...代码块...{% endif %}实例<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</titl

2020-05-28 14:19:30 276

原创 2招带你快速获取响应头与发送头

今天带大家用两招快速获取响应头以及发送头。1、获取请求头想要获取请求头,就需要会用抓包工具,目前比较普遍的就是fiddler。大家可以在百度搜索下载。首先我们打开fiddler你会发现左侧这里不停地增加,这里看到的就是我们电脑发送的请求点击这里选择Remove all即可清空所有请求。现在我们以博客园登录为例,先看响应头,再看请求头:进入博客园,点击右上角的登录按钮(注意,此时你已经打开fiddler)进行登录操作,现在博客园要拼接一个图片才能登陆,那我们在拼图片以前清空一下fiddler发送

2020-05-27 21:53:59 1272 1

原创 url_for函数——快速寻找url

我们已经知道,知道了url就可以找到对应的视图函数,那么现在问题来了,如果我们知道了视图函数,要怎么找到url呢?这时候我们就需要url_for函数了。# coding: utf-8from flask import Flask, url_forimport flaskapp = Flask(__name__)  # type: Flaskapp.debug = True# 根目录@app.route('/')def hello_world():    return

2020-05-27 19:38:42 1020

原创 完整版模板项目实战【实战演练】

今天给大家带来的是模板项目实战,先给大家看一下效果图说明:点击图片后会跳转到对应的详情页面数据:movies = [    {        'id': '34532',        'title': u'胖子行动队',        'thumbnail': u'https://img1.doubanio.com/view/photo/

2020-05-27 13:56:26 663

原创 忽略这1点,代码写的再好也没用

作为技术人员,我们每天都要写大量的代码,新功能产品计划书出了以后就要阅读、编写测试用例。对于一个大神级别的测试工程师而言,能写一手熟练的代码,覆盖率高的测试用例,这些都是拿到高工资的必要条件。但是,对于测试工程师来说,除了这些条件以外,还有很多细节问题需要注意,可能一个细节,就会在面试中被pass掉,或者在工作中出现重大工作纰漏,轻则被扣工资奖金,重则要打包走人!举一个切身例子。之前参加过一个软件的面试,去面试前还是自信满满的,面试过程也很顺利。当时是三轮面试:功能测试、测试开发、测试经理。前两轮都挺顺

2020-05-26 21:40:36 268

原创 不会汇报工作,工作做得再好也白瞎

今天跟大家分享一下除技术之外的一个点,大家可以细心留意一下身边的人,技术好的一定是领导吗?不一定,真的不一定,做领导的人技术不一定是最好的,但一定是最会说的。比如小编,作为一名主管,测试技术只能用“水”来形容,像大家说什么docker、uiautomator2、Django小编是根本不会,但是我会说啊,吧啦吧啦吧啦说的好像我啥都会,其实……一句命令都不会写,在汇报工作的时候,团队做的简单工作我也会说的头头是道,高大上的样子,这样不仅完成了工作,也能得到领导的认可。说这些的目的就是告诉你,不仅要会写代码,也

2020-05-26 14:47:23 319

原创 一篇文章带你快速理解盒子模型【经典案例】

今天带大家快速理解盒子模型,直接上代码:<!doctype html><html>    <head>        <meta charset="utf-8" />        <title>css盒子</title>        <meta name="keywords" c

2020-05-25 19:47:33 507

原创 阿里面试竟如此轻松,2招带你过关斩将拿下offer

在找工作之前首先是要认清一个问题,虽然这个问题比较俗,但是很现实,就是为什么追求高工资? 这个问题我想不用说大家心里也清楚。大部分人都不是当前城市的本地人,说好听了叫来上班,说的不好听其实叫“外来务工人员”,就是“打工”嘛,既然大家离开家乡来外地打工,那你不多点挣钱跑这么远来这上什么班啊!以下是大部分人都面临几个问题:1. 买房子2. 结婚3. 小孩上学几点都是需要花钱的地方,所以呢,建议大家不要再这样在一个公司里浑浑噩噩的安逸下去,把眼光放长远一点,不管对于当前的自己还是以后的自己来说,最实际的

2020-05-25 15:52:48 342

原创 3点带你快速学会Selenium工具的使用

(一)Selenium IDEFirefox的一个插件,有助于我们理解测试框架。在附加组件里搜索下载,一般搜的结果里前几个都不是,得点那个查看更多才行,找到这个:安装以后浏览器工具栏会有:安装好了以后点击这个标签启动:1:控制用例运行速度2:暂停和恢复用例执行3:单步:可以运行一个用例中的一行命令。先在地址栏输入要录制的url,然后在浏览器进入相应的url,比如我们以百度为例:第一步:填入url第二步:火狐浏览器进入百度第三步:点击Selenium IDE右侧那个红点,然后去

2020-05-24 22:10:10 276

原创 2个案例带你快速实现Response返回值

今天先来学习一下Response的相关知识。所有返回前台的内容其实都应该是Response的对象或者其子类,我们看到如果返回的是字符串直接可以写成return u'字符串内容'的形式,但是其实这个字符串也是经过了Response包装的:returnResponse(u'字符串')我们看一段代码:# coding: utf-8from flask import Flask, Responseapp = Flask(__name__)  # type: Flaskapp.debug = Tr

2020-05-24 19:19:37 1084

原创 快速学会控制语句

今天先和大家强调一个发邮件的问题# coding: utf-8import smtplibfrom email.mime.text import MIMETextmail_host = 'smtp.163.com'receivers = ['31abc@qq.com','72abc@qq.com']password = '授权码'sender = 'warrior_meng08@163.com'msg = MIMEText('Python 发邮件', 'plain', 'utf-8')msg['F

2020-05-22 19:35:57 197

原创 用京东页面演练重定向案例

我们都知道京东的url是www.jd.com,但是当你输入www.jingdong.com时候,你会发现地址自动跳转到了www.jd.com,这种技术手段就叫做重定向。重定向分为永久重定向和临时重定向像京东这种只要你输入www.jingdong.com就会跳转到另一个地址的情况就叫做永久重定向,也就是说京东不希望你再用这个地址了;而临时重定向则可能是判断你的登录状态,比如有一些网站你进入后会判断你是否登录,如果登录就跳转页面A,如果没登录就跳转页面B,这种就是临时重定向的情况(后面写项目的时候会用到,当

2020-05-22 13:36:40 341

原创 5分钟快速学会xpath定位

今天我们先来和大家说一下appium,首先教大家如何定位xpath,五分钟即可学会:例:现在我想定位下面这个登录按钮:xpath该怎么写呢?先不管三七二十几,先写//,然后找你要定位元素最近的可以直接定位到的元素,我们看到home属性是content-desc:所以我们就可以根据content-desc这个属性直接定位到上图红色home那里这些属性都在这个WebView下面,所以继续://adnroid.webkit.WebView[@content-desc='home']/接下来是一个

2020-05-21 19:38:17 504

原创 一篇文章入门Jmeter性能测试【经典长文】

今天跟大家分享一下Jmeter性能测试,首先需要了解性能测试的定义是什么,为什么要做性能测试,性能测试指标、性能测试分类是什么呢?接下来就跟大家聊一聊这些问题。1、性能测试定义百度&知乎性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系

2020-05-21 15:43:21 319

原创 接口测试中GET方法的获取

今天在这里给大家介绍一下get方法,其实这些方法大家可以看一下源码里面的介绍只需要在代码中输入:import requestshelp(requests)就可以看到带有示例的解释:现在我们来完成RF做接口测试的第二步:发送请求。Python发送http请求的模块主要有requests、urllib、urllib2,这里我们介绍三个里面最简单的requests模块。安装requests模块:pip install requests1、get导入requests后可以用get方法直接访问url

2020-05-20 21:49:26 1516

原创 smtplib文字邮件的发送

今天跟大家讲解一下接口测试框架的知识准备阶段,首先是发送纯文字的电子邮件,会的同学可以忽略,不会的就多敲几遍,直到自己能敲出来为止~~# coding: utf-8import smtplibfrom email.mime.text import MIMETextmail_host = 'smtp.163.com'receivers = ['XX@qq.com','bb@qq.com']receiver = ';'.join(receivers)password = '这里是授权码'sender

2020-05-20 19:22:49 251

原创 接口测试框架分析

今天给大家讲解的是接口测试框架分析,现在我们按模块分析一下代码:1、setting.py这个文件放置的是一些常量,正如我们看到的比如接口地址前缀、电子邮件的配置,以及Log内容的设置等,这里放置的内容在修改的时候也会非常方便。2、common->integretion这个模块下只有一个文件——HTMLTestRunner.py文件,大家都已经知道了,这个文件是用来发邮件用的模板,这个文件大家只需要下载下来复制进去即可。3、common->module->email_module.

2020-05-19 21:54:16 238

原创 UnitTest框架的快速构建与运行

我们先来简单介绍一下unittest框架,先上代码:1、建立结构的文件夹:注意,上面的文件夹都是package,也就是说你在new新建文件夹的时候不要选directory,而是要选package;建好了文件夹,第一步就算完成啦!2、第二步,面向对象的思想面向对象很简单,面向对象就是把所有的功能都当做单独的模块,模块之间的耦合(就是关联)度越低,那么你的结构越好,当你需要这些功能时,你只需要去调用相应的模块即可,这样的好处就是如果出错一定是调用的时候出错,而不会写了一大堆代码导致不容易定位报错的根

2020-05-19 19:46:56 364

原创 Appium + Python App自动化第一个脚本

今天跟大家讲解一个Appium和Python App自动化的脚本。【1】打开你的夜神模拟器(或者连接你的手机)【2】打开桌面的Appium【3】下载你要测的App的apk文件,放到桌面【4】拖动你的apk安装包到夜神模拟器里,然后模拟器会提示你安装。安装。原来的apk文件先不要删【5】进入cmd【6】先输入adb devices,查看设备号(后面会用到)【7】查看apk文件的属性,复制它的路径比如船长这里用的是Tencent 新闻客户端,先复制位置 1:【8】回到cmd里,输入如下命令

2020-05-18 20:13:53 965

原创 3个必备cookie实用方法

今天跟大家介绍一下三种cookie的使用方法,selenium提供了我们add_cookie()方法来跳过验证码直接登录的方法。我们现在以博客园登录为例,都知道现在博客园登录要拼图验证。先在网页打开到登录界面:打开这个登录页面以后,打开你的fiddler:点Remove all即可清除下面的信息。然后回到博客园登录页面进行登录操作,登录成功以后,进入fiddler查看:找上图方框的Host地址。点击,然后看右侧的cookie:看下面Cookies标签,就是方框里面的内容,等号前面的是’

2020-05-18 15:07:15 355

原创 单元测试框架的选择

今天给大家介绍单元测试的概念,以Python语言为基础,带你了解如何选择单元测试框架。单元测试1、定义单元测试是指,对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,这里的最小可测试单元通常是指函数或者类。2、为什么要做单元测试从“基础元件”开测,单元测试对象是代码,以函数或类为单位,完成基础测试,在代码封装成“功能”后,更容易定位功能上出现的问题3、单元测试用例通常来讲,单元测试的用例是一个“输入数据”和“预计输出”的集合。 你需要针对确定的输入,根据逻辑功能推算出

2020-05-17 21:00:15 453

原创 快速构建一个完整的Selenium框架

今天跟大家细讲如何构建一个完整的selenium框架,当你学会了这一篇你就也可以说自己会selenium自动化测试了。1、新建项目,结构如图:注意:整个项目除了最外层的是文件夹,其他的都是包(package)。也就是说每一个文件夹下面都是有一个_init _.py文件的。只有包才能顺利的用import导入哦~~2、文件介绍及代码baseinfo 这里面只有一个__init __.py文件,里面放的是常量:比如邮件的设置信息、发送的固定URL等。# coding: utf-8'''发送

2020-05-17 16:09:58 421

原创 都2020年了,还再问GET和POST的区别?【深度好文】

最近看了一些同学的面经,发现无论什么技术岗位,还是会问到 get 和 post 的区别,而搜索出来的答案并不能让我们装得一手好逼,那就让我们从 HTTP 报文的角度来撸一波,从而搞明白他们的区别。一. 标准答案在开撸之前吗,让我们先看一下标准答案长什么样子 w3school: GET 对比 POST。标准答案很美好,但是在面试的时候把下面的表格甩面试官一脸,估计会装逼不成反被*。分类GETPOST后退按钮/刷新无害数据会被重新提交(浏览器应该告知用户数据会被重新提

2020-05-15 22:29:03 262

原创 以“用户登录”测试谈用例编写

作为测试工程师,大家设计测试用例的目标是保证系统在各种应用场景下的功能是符合设计要求,所以大家在设计测试用例的时候就需要保证用例覆盖尽可能的更多、更全面。以“用户登录”为例,一般在对输入框进行测试时,都能用到等价类和边界值的方法,这两个方法也是最常用、最典型的黑盒测试方法。等价类与边界值的定义等价类划分方法,是将所有可能的输入数据划分成若干个子集,在每个子集中,如果任意一个输入数据对于揭露程序中潜在错误都具有同等效果,那么这样的子集就构成了一个等价类。后续只要从每个等价类中任意选取一个值进行测试,就可以

2020-05-15 19:03:30 3139

原创 接口自动化测试框架9项必备功能

当你准备使用一个接口测试框架或者自造轮子的时候,或许你需要先了解下一个接口自动化测试框架必须具备什么功能。一、校验  这个很好了解,如果没有校验,单纯的执行接口的话,那就谈不上测试了。所以支持对返回值校验是一个必须的功能。二、数据隔离  数据隔离就是指具体的请求接口、参数、校验等数据做到与代码相隔离,便于维护,一旦需要调整接口用例、新增接口用例时可很快速的找到位置,隔离的另一个好处就是可复用,框架可以推广给其他团队,使用者可以使用相同的代码,只需要根据要求填写各自用例即可测试起来。三、数据传递 

2020-05-15 15:54:47 290

原创 一篇文章了解软件测试基础知识

今天带大家了解软件测试的基础知识。希望对你们有帮助,有说的不好的地方,还请多多指教!一、基础知识点:1.软件测试基础知识2.测试流程3.测试方法4.测试用例设计5.bug管理二、课程内容1.1 软件测试基础知识1.1.1 软件测试分类按测试技术分类按测试技术,软件测试可分为:黑盒测试、白盒测试、灰盒测试黑盒测试:即功能测试,测试人员不必了解代码,只需要检查软件是否按照需求文档完成。白盒测试:测试人员需要了解代码程序结构和处理过程,按照代码逻辑进行测试,比如接口测试。灰盒测试:

2020-05-14 19:49:47 547

原创 UI自动化测试、接口测试等自动化测试策略

今天跟大家介绍UI测试、接口测试、单元测试主要内容,以及每种测试花费时间讨论。UI测试【Selenium】UI测试是最接近软件真实用户使用行为的测试类型。通常是模拟真实用户使用软件的行为,即模拟用户在软件界面上的各种操作,并验证这些操作对应的结果是否正确。接口测试【API测试】API测试,主要针对的是各模块暴露的接口,通常采用灰盒测试方法。首先以黑盒方式设计如何调用API的测试用例,同时在测试执行过程中统计代码覆盖率,然后根据代码覆盖率情况来补充更多、更有针对性的测试用例。单元测试单元测试,属于

2020-05-14 14:14:22 1041

原创 剖析用例设计方法的使用

今天给大家讲解的是用例设计方法的使用,在设计用例时该如何应用用例设计方法、设计出覆盖率高的测试用例呢?场景简介:普遍登录页面测试用例设计分析拿到需求,首先要做需求分析。我们看到登录界面有三个测试点:1.账号2.密码3.下次自动登录选项所以我们的用例设计就是围绕着这三个选项开始。账号和密码都是注册时规定好的。所以账号框和密码框可以利用等价类进行划分。如果我们以登录框为核心写用例,那么到是否自动登录就会有重复的登录和密码用例,而如果以是否自动登录为核心(分类点),我们发现用例可以大大减少。

2020-05-13 19:54:43 205

原创 携程内部的测试用例是如何设计的?

在跟大家讲解测试用例之前,首先想要问大家对一个“好的”的测试用例中的“好”是怎么定义的?可能对一些才接触的同学来说,那个“好”可能只是需要它运行起来就可以了,其实不然,接下来跟大家讲解一下“好的”测试用例是什么?如何去做一个“好的”测试用例?一、什么是“好的”测试用例“好的”测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关。举个例子:如果把被测试软件看作一个池塘,软件缺陷是池塘中的鱼,建立测试用例集的过程就像是在编织一张捕渔网。“好的”测试用例集就是一张能够覆

2020-05-13 14:27:43 701

原创 模块级别自动化测试的经验与教训

搞了几个月的自动化测试,结果不甚理想,这里做一个简单的总结。为什么要做自动化测试呢?因为手工测试效率低,找 case、执行 case 太费时间。为什么自动化测试前面要加“模块级别”呢?因为一个系统依赖很多外部系统,如果不能有效屏蔽外部环境的差异,自动化测试会经常因为环境问题而失败。原理这里讲的自动化测试原理是,在线上环境录制测试 case,在线下测试环境利用录制的 case 进行回放测试。如何录制 case?某个系统对一次请求的一次处理可以认为是一个 case,模块级别的自动化测试要求录制该系统在

2020-05-12 20:25:04 220

空空如也

空空如也

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

TA关注的人

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