
自动化测试实践
文章平均质量分 71
把苹果咬哭的测试笔记
喜欢分享软件测试、开发相关的各种知识。
展开
-
【接口自动化】3.写接口自动化case要注意的点
可能有人会说,写接口的自动化CASE多简单了,写个参数发送请求完事了,还要注意啥?没错,相比起UI自动化的case,你要去写各种定位器,接口自动化的case写起来确实容易多了。这也是接口自动化的一个优点,开发效率更快。但是写得快,不等于写得好,本章就聊聊接口自动化case的那些事。一、case要易于阅读和维护既然是写自动化case,那也是在写代码,那么,代码的可阅读性就不可以忽视。除了...原创 2021-03-27 22:57:00 · 225 阅读 · 0 评论 -
【接口自动化】2.快速搭建接口自动化框架
接口自动化框架要搭成什么,里面的内容究竟应该有多少?这个问题没有标准答案,因为这要取决于你的项目,以及你想要用框架来解决什么问题等多种因素。当然了,这里也就不展开讨论了,还是回到接口自动化这个点,来说一说你至少改具备的东西。一、编程语言的选择如果有特殊要求用某种语言的话,你没什么好选。如果没有特殊要求,我个人偏向于使用python语言。笔者之前也曾参与过基于java语言的接口自动化开发...原创 2021-03-26 10:10:00 · 145 阅读 · 0 评论 -
【接口自动化】1.做接口自动化前你需要准备什么?
自动化测试,最近些年可谓是大火。招聘上的要求也好,培训班的广告也罢,比比皆是,足以说明它在业内的火爆程度。虽然说会写自动化测试也不能说明你牛批,但是你不会的话,那么很抱歉,你的上升通道就会变得更窄。一、为什么要去做自动化测试其实自动化测试之所以受到大家的追捧,必然也是有它的道理。说白了,我觉得根本的因素是在于提效。当然了,提效这个是最终理想,但是有些公司的自动化项目落地的并不太好,反而成...原创 2021-03-17 12:32:00 · 254 阅读 · 0 评论 -
【jmespath】—4. 进阶 Flatten Projections
这里要怎么翻呢?扁平投影?一、Flatten Projections1. 核心1这个可以暂时忽略,一个重要的核心是:对于列表/对象投影,在投影中创建投影时,原始文档的结构将保留。说人话就是,比如下面的例子。可以看到,reservations列表中嵌套了字典,而instances的value,又是一个列表。这时候,用reservations[*].instances[*].state,......原创 2020-07-02 16:56:00 · 100 阅读 · 0 评论 -
【jmespath】—3. 进阶 Object Projections
继续,来看Object Projections。一、Object Projections上面说的是列表投影,只适用于列表。那么对于json对象,可以用对象投影。投影最终返回的仍然是个列表,只不过内部的元素是查询到的key-value键值对中的value。import jmespathdic_1 = { "ops": { "functionA": {"numArgs": 2......原创 2020-07-02 16:47:00 · 90 阅读 · 0 评论 -
【jmespath】—2. 进阶 List and Slice Projections
Projections翻译的话说实话我也不知道翻成什么比较准确,姑且就叫“投影”吧,不过带来的功能确实非常的强大、好用。首先,我先说下我的理解:通配符 *通配符生成的是一个list列表通配符后面查找的元素都会放到这个list里一、List and Slice Projections列表和切片在projections中的应用。1. 常见的接口数据返回相信很多接口里返回的数据,在......原创 2020-07-02 16:42:00 · 147 阅读 · 0 评论 -
【jmespath】—1. 基础用法
一、jsonpath之前我写接口自动化测试时候,对于复杂的json返回,会使用jsonpath这个第三方库,就像写xpath一样,方便的查询json元素。因为之前写WEB自动化时候,总用xpath去查找元素,所以用起来非常顺手。这里是github上的链接,感兴趣的童鞋也可以去学习一下:jsonpath二、jmespath不过httprunner使用的是另一个第三方库jmespath,这......原创 2020-07-01 13:02:00 · 688 阅读 · 0 评论 -
【pytest】teardown里的yield和addfinalizer
在之前介绍pytest中的fixture用法的文章中https://zhuanlan.zhihu.com/p/87775743,提到了teardown的实现。最近在翻pytest官方文档的时候,又发现了addfinalizer这个函数,跟yield一样,也可以实现在case结束后运行关键字之后的代码。那今天就来捋一下这2者的用法和区别。一、yield再来简单回顾下pytest里的setUp......原创 2020-06-08 10:37:00 · 796 阅读 · 0 评论 -
web-UI自动化必会技能—xpath轴,了解一下?
本来以为不会再更新UI自动化相关的东西了,不过最近群里的朋友在搞UI,提出了许多问题,我看了下,大多还是页面元素定位类的问题,那今天就再讲点。一、先了解xpath说到元素定位,大家应该都知道常见的几种定位方式:find_element_by_name()find_element_by_id()find_element_by_css_selector()find_element_by......原创 2020-05-25 18:58:00 · 189 阅读 · 0 评论 -
想在java接口自动化里用上Python的requests?这样做就可以了
相信现在很多的公司自动化测试重点都在接口层,因为接口测试更加接近代码底层,相对于UI自动化,接口自动化有着开发更快、覆盖更全、回报率高等优点。接口自动化代码实现不难,本质上就是代码模拟发送请求,然后判断返回结果是否符合预期即可。目前也有很多成熟开源的可以发送http请求的库,比如python的requests库。requests库易上手,使用起来也非常便捷。比如,我们要测试一个查询用户名的接......原创 2020-04-26 13:07:00 · 531 阅读 · 0 评论 -
web自动化多次打开浏览器嫌烦?打开一次浏览器,pytest有个招
最近系统前端组件做了更新,我就把之前做的web自动化的代码做了一些修改,顺便优化了下用例,只保留少量的测试用例了,大头还是在接口自动化上。然后发现关于pytest的还有一个点应该比较常用,这里再介绍一下。相信有的同学在使用python的unittest框架做web自动化测试的时候会遇到一个问题,需要在setUp方法里去定义浏览器驱动,为了执行case之前打开浏览器。如果在执行很多case的时......原创 2020-04-26 13:03:00 · 1041 阅读 · 0 评论 -
【web系统UI自动化】关于UI自动化的总结
实施过了web系统的UI自动化,回顾梳理下,想到什么写什么,随时补充。首先,自动化测试不是手动测试的替代品,是比较好的补充,而且不是占大比重的补充。70%的测试工作集中在底层接口测试和单元测试,20%的测试工作为集成测试,其他10%的测试即为界面测试。开发方向:尽可能的相通的模块,通用的封装开发约定好,便于定位适用兼容测试无界面运行快速定位问题:报错信息、错误截图多环境......原创 2019-09-19 20:19:00 · 377 阅读 · 0 评论 -
【接口自动化】selenium库也有大用场(获取cookie)
相信有些童鞋在做接口、或者说接口自动化测试的过程中会遇到这样的场景:测试的接口,必须是需要登录后才能发起请求成功的。那么怎么解决呢? 本着团队协作的精神,我们就去让开发同学开个后门,给你个“万能”值,那么你带着这个“万能”值在请求里,就可以畅通无阻了。但是也不是开发都愿意干这样的事儿,而且很多测试童鞋脸皮也薄(O(∩_∩)O哈哈~),脸皮薄不提倡啊。那么就自己的事儿自己来吧。既然是需要登......原创 2019-09-19 14:32:00 · 276 阅读 · 0 评论 -
开发基于vue前端框架下的系统的UI自动化,记录总结踩的坑
在使用了pytest完成了一个系统的UI自动化后,因为系统的前端框架,是 基于VUE写的,这就让我编写脚本的时候踩了些坑。无法用JS 修改标签属性,从而进行的操作比如上传图片,我们的上传是这样子的基于这个情况,我不得不去使用autoit来完成上传的动作,但是,autoit是用来操作windows系统的GUI的,那么我的脚本,无法在Linux上运行,也无法使用浏览器的headless模式......原创 2018-11-26 11:17:00 · 293 阅读 · 2 评论 -
使用Chrome-headless模式下,截屏不全屏的问题
在headless模式下,是没有打开浏览器窗口的,那么driver.maximize_window(),找不到目标也打不开。我们可以换一种方式,去在无头模式下,指定浏览器的窗口大小运行即可。__options = Options() __options.add_argument('--headless') __options.add_argument('--w......原创 2018-11-26 09:57:00 · 691 阅读 · 0 评论 -
Chrome-headless 模式,没有UI界面的自动化UI测试
如果在本机执行UI自动化脚本,打开的浏览器总是会不同程度的影响你做别的事情,那么我们可以采用无界面运行我们的UI自动化,这种模式下运行脚本并不会真正地打开浏览器,整个过程都是在后台执行的。爽歪歪。PhantomJS,HtmlUnit ,都是类似的么有界面的浏览器。(对了,虽然你的电脑上没打开浏览器,但是实际是你要是截图的话,是可以截到图的哦)今天要介绍的是,大谷歌的 Chrome浏览器的无头......原创 2018-11-15 16:40:00 · 521 阅读 · 0 评论 -
【selenium】Webdriver的原理以及工作流程
原文地址:https://www.cnblogs.com/imyalost/p/7242747.html#4109245作者:老 张1.关于Webdriver设计模式:按照Server-Client的经典设计模式设计;Server端:即Remote Server(远程服务器),可以是任意的浏览器,当脚本启动浏览器时,该浏览器就是Remote Server,它的职责是等待Client发送请......原创 2018-11-08 09:20:00 · 121 阅读 · 0 评论