一篇文章高效定位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
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

日志记录——logging模块

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

断言函数-RF

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

鼠标与键盘操作事件

鼠标事件鼠标事件包含在ActionChains类中,导入时只需要:from selenium.webdriver.common.action_chains import ActionChains导入类即可:常用的方法有:context_click() ——右键单击double_click() ——双击drag_and_drop(鼠标按下的元素,鼠标释放的元素) ——拖动move_to_element() ——鼠标悬停在一个元素上click_and_hold()
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

python+requests接口自动化框架

为什么要做接口自动化框架1、业务与配置的分离2、数据与程序的分离;数据的变更不影响程序3、有日志功能,实现无人值守4、自动发送测试报告5、不懂编程的测试人员也可以进行测试正常接口测试的流程是什么?确定接口测试使用的工具----->配置需要的接口参数----->进行测试----->检查测试结果----->生成测试报告测试的工具:python+requests接口测试用例:excel一、接口框架如下:1、action包:用来存放关键字函数2、config包:用来
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

Python Selenium 之数据驱动测试的实现

数据驱动模式的测试好处相比普通模式的测试就显而易见了吧!使用数据驱动的模式,可以根据业务分解测试数据,只需定义变量,使用外部或者自定义的数据使其参数化,从而避免了使用之前测试脚本中固定的数据。可以将测试脚本与测试数据分离,使得测试脚本在不同数据集合下高度复用。不仅可以增加复杂条件场景的测试覆盖,还可以极大减少测试脚本的编写与维护工作。下面将使用Python下的数据驱动模式(ddt)库,结合unittest库以数据驱动模式创建百度搜索的测试。ddt库包含一组类和方法用于实现数据驱动测试。可以将测试中的变量
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

教你快速打造一个可视化接口自动化测试系统

现如今,接口开发几乎成为一个互联网公司的标配了,无论是web还是app,哪怕是小程序,都离不开接口作为支撑,当然,这里的接口范围很广,从http到websocket,再到rpc,只要能实现数据通信的都可以称之为接口,面临着如此庞大的接口数据,如果更好的管理和测试他们都是一个比较头疼的问题,更主要的是很多业务场景是需要多个接口进行联调的,因此在接口开发完成后,一轮自动化测试能快速反馈出当前系统的状况,面对这样的需求,一个对测试人员友好的可视化接口自动化测试系统就显得必不可少了。那么,我们今天就来和大家聊聊如何
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

分分钟玩转UI自动化测试

有没有那么一刻,看到自动模拟用户操作界面感觉好神奇。关于什么叫 UI 自动化测试就不解释了,基本上是你刚才脑海里想到什么就是什么。在分层自动化测试中包括:UI 测试、集成/接口测试、单元测试。大神告诉我:UI 自动化测试在自动化测试中占比只有10%。先不用在乎具体这个比例是什么,我们关注的是实际价值,这个需要根据实际项目来判断。不过对于 UI 自动化,基本上做冒烟测试用例的自动化就差不多了,从 UI 上来验证主业务流程的稳定性,同时降低一些维护成本。今天我们来聊聊 WebdriverIO,Webdr
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

2020年,你应该学会的Postman用法

随着公司微服务体系服务越来越多,业务增长越来越迅速,版本迭代越来越快,而且对系统的可用性要求越来越高,传统的手工发布系统的方式已经完全无法满足日常运维的需求了,自动化构建发布的需求越来越强烈,但是自动化发布有个基础的环境,自动化测试,鉴于团队规模不大,测试人员的能力参差不齐,自动化测试我们选择了以开发测试一起搭建的方式,通过轻量级的工具postman进行自动化测试。测试文件共享postman可以将测试的接口进行collections分组,分组后的一组接口可以进行导出,如图:导出后的文件,可以作为测试
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

4招了解前端单元测试

随着每个工程的复杂化、代码的高复用性要求和前端代码模块之间的高内聚低耦合的需求,前端工程中的单元测试流程就显得很有其必要。1.前端单元测试是什么首先我们要明确测试是什么:为检测特定的目标是否符合标准而采用专用的工具或者方法进行验证,并最终得出特定的结果。对于前端开发过程来说,这里的特定目标就是指我们写的代码,而工具就是我们需要用到的测试框架(库)、测试用例等。检测处的结果就是展示测试是否通过或者给出测试报告,这样才能方便问题的排查和后期的修正。基于测试“是什么”的说法,为便于刚从事前端开发的同
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

基于Appium的UI自动化测试

为什么需要UI自动化测试移动端APP是一个复杂的系统,不同功能之间耦合性很强,很难仅通过单元测试保障整体功能。UI测试是移动应用开发中重要的一环,但是执行速度较慢,有很多重复工作量,为了减少这些工作负担,提高工作效率,需要引入可持续集成的自动化测试方案。为什么选择AppiumAppium是一款开源测试工具,可以用来测试安卓/iOS/Windows端的原生应用和Web混合应用。为了应对快速迭代的移动端应用功能,越来越多的App采用混合模式,即将部分功能交给应用内嵌的Web页面实现。Appium能方
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

Python最火的第三方开源测试框架 ——pytest

一、介绍本篇文章是介绍的是Python 世界中最火的第三方单元测试框架:pytest。它有如下主要特性:assert 断言失败时输出详细信息(再也不用去记忆 self.assert* 名称了)自动发现测试模块和函数模块化夹具用以管理各类测试资源对 unittest 完全兼容,对 nose 基本兼容非常丰富的插件体系,有超过 315 款第三方插件,社区繁荣和前面介绍 unittest 和 nose 一样,我们将从如下几个方面介绍 pytest 的特性。二、用例编写同 nose 一样,p
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

使用 Postman 做 API 自动化测试

Postman 最基本的功能用来重放请求,并且配合良好的 response 格式化工具。高级点的用法可以使用 Postman 生成各个语言的脚本,还可以抓包,认证,传输文件。仅仅做到这些还不能够满足一个系统的开发,或者说过于琐碎,你仍需要频繁地在开发环境,测试环境,生产环境中来回切换。单一的请求也不够,你需要维护系统所有 API 的请求,并且每个请求还带有不同的 querystring 和 body。Collection对服务器端的所有请求按功能或者业务模块进行组织,使用 markdown 对所有请
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

2020,8种必备Selenium编写自动化用例的技巧

在开始自动化时,您可能会遇到各种可能包含在自动化代码中的方法,技术,框架和工具。有时,与提供更好的灵活性或解决问题的更好方法相比,这种多功能性导致代码更加复杂。在编写自动化代码时,重要的是我们能够清楚地描述自动化测试的目标以及我们如何实现它。话虽如此,编写“干净的代码”以提供更好的可维护性和可读性很重要。编写干净的代码也不是一件容易的事,您需要牢记许多最佳实践。以下主题突出显示了编写更好的自动化代码应获得的8条银线。1.命名约定当我们从手动转向自动化或实际上以任何编程语言编写代码时,这确实是要牢记的经验
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

单元测试利器Mockito框架

什么是MockMock 的中文译为仿制的,模拟的,虚假的。对于测试框架来说,即构造出一个模拟/虚假的对象,使我们的测试能顺利进行下去。Mock 测试就是在测试过程中,对于某些 不容易构造(如 HttpServletRequest 必须在 Servlet 容器中才能构造出来)或者不容易获取 比较复杂 的对象(如 JDBC 中的 ResultSet 对象),用一个 虚拟 的对象(Mock 对象)来创建,以便测试方法。为什么使用Mock测试单元测试 是为了验证我们的代码运行正确性,我们注重的是代码的流程以
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

一步一步实现现代前端单元测试

今天我们一步一步把各种不同的技术结合一起来完成页面的单元测试和 e2e 测试。1 karma + mocha + power assertkarma是一款测试流程管理工具,包含在执行测试前进行一些动作,自动在指定的环境(可以是真实浏览器,也可以是PhantamJS 等 headless browser)下运行测试代码等功能。mocha测试框架,类似的有 jasmine 和 jest 等。个人感觉 mocha 对异步的支持和反馈信息的显示都非常不错。power asser断言库,特点是 No API
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

Android自动化测试,5个必备的测试框架

AppiumAppium是一个开源的移动测试工具,支持iOS和Android,它可以用来测试任何类型的移动应用(原生、网络和混合)。作为一个跨平台的工具,你可以在不同的平台上运行相同的测试。为了实现跨平台的功能,Appium使用了供应商提供的Android UI框架来实施测试:在iOS中使用XCTest,在Android中使用UIAutomator或Instrumentation。它将这些供应商框架封装到Selenium WebDriver中,这使得使用Appium的开发者可以编写各种类型语言的测试:Ja
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

呐喊!国人开源了一款超好用的Redis客户端,太香了

大家都知道,Redis Desktop Manager 是一款非常好用的 Redis 可视化客户端工具,但可惜的是 v0.9.4 版本之后需要收费了:这个工具不再免费提供安装包了,要对所有安装包收费,收费还不便宜啊,但是源码依旧是公开的,要使用就必须要自行编译。市面上也有一些破解版本或是别人编译好的版本,但安全性难以保证,不付费,整天折腾安装和更新,始终是下策,有免费开源的好工具为啥不用。今天我就要推荐一个免费、开源、好用的。另一个 Redis 桌面管理工具之前也有粉丝问我有什.
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

Java诊断神器:6到飞起的Arthas,这些功能赶紧安排一下!

1.简介什么是 Arthas?摘录一段官方 Github 上的简介阿里巴巴Arthas是一种诊断工具,使我们能够监视,分析和诊断Java应用程序。使用Arthas的主要好处之一是,我们不需要更改代码,甚至不需要重新启动要监视的Java服务。在本文中,我们将先安装Arthas,然后再进行案例研究以演示Arthas的一些关键功能。最后,由于Arthas是用Java编写的,因此它是跨平台的,可以在Linux,macOS和Windows上正常地运行。2.下载和入门首先,让我们开.
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0

你疯了吧,竟然在代码里面“下毒”?

一、前言学过的代码记不住?方式不对才记不住,你这么记!Git:上厕所不叫上厕所,叫拉分支! Socket:厕所就是服务器,坑就是端口! 队列:上厕所叫入队列,先进先出! 栈:去厨房叫进栈,后进先出! 架构:三居的格局叫MVC,四居的格局叫DDD! 理论:系统结构设计定的好,有点bug没问题,能改。这就是茅坑跟坐便的区别。除了有点味道以外,这回是不记住了,我们编程写代码的过程和我们日常生活的例子,往往都是这样可以对应上,有了真实可以触及的实物,再去了解编程就会更加容易,也很难忘记...
分类: 其他 发布时间: 09-25 00:35 阅读次数: 0