Jenkins

学会这个,助你升值加薪自动化框架之python+selenium+pytest

大兔子大兔子 提交于 2020-08-16 00:01:25
1.概述 selenium: 基于JavaScript代码库的自动化测试框架,通过脚本语言,模拟用户行为操作,最接近用户真实场景,实现对web自动测试。 Selenium,是目前的最火爆企业最主流的webUI自动化框架 pytest: pytest是一个非常成熟的全功能的Python测试框架,是unittest框架的扩展,主要特点有以下几点: 1、简单灵活,非常方便的组织自动化测试用例; 2、支持参数化,可以细粒度地控制要测试的测试用例; 3、能够支持简单的单元测试和复杂的功能测试,比如web端selenium/移动端appnium等自动化测试、request接口自动化测试 4、pytest具有很多第三方插件,并且可以自定义扩展,比如测试报告生成,失败重运行机制 5、测试用例的skip和fail处理; 6、结合业界最美的测试报告allure+Jenkins,持续集成 2.环境搭建 pip install -U pytest pytest-xdist #多线程 pip install -U pytest-rerunfailures #重试运行cases pip install pytest-html#生成测试报告 pytest --version #会展示当前已安装版本 3.编写规则 编写pytest测试样例非常简单,只需要按照下面的规则: 测试文件以test_开头(以

“我放弃了年薪20W的offer......”

杀马特。学长 韩版系。学妹 提交于 2020-08-15 16:52:52
我的职业生涯开始和大多数测试人一样,开始接触都是纯功能界面测试。那时候在一家电商公司做测试,做了有一段时间,熟悉产品的业务流程以及熟练测试工作流程规范之后,效率提高了,工作比较轻松,也得到了更好的机会去发展。 在后来的公司得到了领导的信任,待遇方面工资加上年终奖,加起来年薪能达到20W。由于当时公司规模和产品的局限性,导致自动化测试始终未能应用到公司项目中。外面的世界很大,自动化已经流行而且越来越普及,内心经过一番抉择后,我更想要突破自己的技术瓶颈,所以选择顶住了压力,跳槽到一家公司专职做自动化测试工作。通过不断的项目经历和机会,我将公司产品前后端的自动化测试全部落地实现。 那些自动化脚本真正成为了公司资产,每次上线回归带来的收益远超出我的预期。并且定时在公司的技术分享会展示效果,那种从0到1的成就感非常难忘。后面负责自动化测试团队工作,核心框架搭建。学习用到的技术栈:包括Python、Selenium、RF、Requests、Jenkins、以及见识到先进主流的Docker容器技术,持续集成 从手工到自动化测试/测试开发,给我带来的帮助不仅仅是20W到40W,待遇上面的提高,包括做自动化测试遇到的坑,解决问题的思路,以及技术瓶颈的突破,形成一套知识框架体系,得到一套有效落地的自动化测试方案。 目前测试平台项目研发已经完成,并且在Github开源,有兴趣的朋友可以去Github下载

如何用Postman做接口自动化测试

假装没事ソ 提交于 2020-08-15 12:53:20
目录 前言 什么是自动化测试 自动化测试有哪些分类 为什么需要自动化测试 Postman自动化测试演示 1.新建集合 2.新建接口 3.填写自动化测试脚本 4.录入所有接口 5.执行自动化测试 前言 什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试,模拟人去操作软件界面,把人从简单重复的劳动中解放出来,如果不了解可以参考下这个例子: Selenium实现微博自动化运营:关注、点赞、评论 本质是用代码去测试另一段代码,属于一种软件开发工作,已经开发完成的用例还必须随着被测试对象的改变而更新,因此,还有额外的维护成本。 自动化测试有哪些分类 按测试目的分类 功能自动化测试 性能自动化测试 按测试对象分类 Web应用测试 APP测试 接口测试 单元测试 为什么需要自动化测试 可以替代大量的手工机械重复性操作,测试工程师可以把更多的时间花在用例设计和新功能的测试上 可以大幅度提升回归测试的效率,非常适合敏捷开发过程 可以更好地利用无人值守时间,去更频繁地执行测试 可以高效实现某些手工测试无法完成或代价巨大的测试类型,例如:7*24小时持续运行的系统稳定性测试和高并发场景的压力测试 可以保证每次执行的操作具有一致性和可重复性,不会受人的感情因素影响。 Postman自动化测试演示 postman大家都用得挺多的,使用方法就不介绍了,详情可以查看

快速打造属于你的接口自动化测试框架

怎甘沉沦 提交于 2020-08-15 12:50:19
1 接口测试 接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。 接口自动化相对于UI自动化来说,属于更底层的测试,这样带来的好处就是测试收益更大,且维护成本相对来说较低,是我们进行自动化测试的首选 2 框架选型 目前接口自动化的框架比较多,比如jmeter,就可以集接口自动化和性能测试于一体,该工具编写用例效率不高;还有我们常用的postman,结合newman也可以实现接口自动化; Python+unittest+requests+HTMLTestRunner 是目前比较主流的测试框架,对python有一定的编码要求; 本期我们选择robotframework(文中后续统一简称为RF)这一个比较老牌的测试框架进行介绍,RF是一个完全基于 关键字 测试驱动的框架,它即能够基于它的一定规则,导入你需要的测试库(例如:其集成了selenium的测试库,即可以理解为操作控件的测试底层库),然后基于这些测试库,你能应用TXT形式编写自己的关键字(支持python和java语言,这些关键字即你的库组成),之后,再编写(测试用例由测试关键字组成)进行测试;他支持移动端、UI自动化和接口自动化的测试 3 环境搭建 python的安装:目前选取的python3以上的版本,RF的运行依赖python robotframework

npm install使用淘宝源报错

痴心易碎 提交于 2020-08-15 12:33:02
在node:12.18.2-buster容器里使用淘宝源npm install时一堆报错: npm install --registry= https://registry.npm.taobao.org npm WARN tarball tarball data for react-dev-utils@5.0.3 (sha512-d2FbKvYe4XAQx5gjHBoWG+ADqC3fGZzjb7i9vxd/Y5xfLkBGtQyX7aOb8lBRQPYUhjngiD3d49LevjY1stUR0Q==) seems to be corrupted. Trying one more time. npm WARN tarball tarball data for react-dev-utils@5.0.3 (sha512-d2FbKvYe4XAQx5gjHBoWG+ADqC3fGZzjb7i9vxd/Y5xfLkBGtQyX7aOb8lBRQPYUhjngiD3d49LevjY1stUR0Q==) seems to be corrupted. Trying one more time. npm WARN tar ENOENT: no such file or directory, open '/home/jenkins/agent/workspace/polling-app

Facebook架构师的代码审查之道:学习Facebook真正发挥代码审查的提效作用

跟風遠走 提交于 2020-08-15 07:46:23
本文已收录 GitHub ,更有互联网大厂面试真题,面试攻略,高效学习资料等 我见到很多国内公司也在尝试使用代码审查,但是效果很不好,往往流于形式,最常听到的一个负面反馈就是“代码审查浪费时间”。 代码审查的成功推行的确不是一件容易的事。今天,我们就一起尝试来解决这个问题。我会从三个方面给出一些建议: 第一,在团队内引入代码审查的步骤和方法; 第二,成功推进代码审查的关键操作; 第三,持续做好代码审查的重要原则。 今天的文章较长,我们现在就进入第一个部分, 引入代码审查的步骤和方法 从我的经验来看,要成功引入代码审查,首先要在团队内达成一些重要的共识,然后选择试点团队实行,最后选择合适的工具和流程。 1.代码审查应该计入工作量 代码审查需要时间,这听起来好像是废话,但很多团队在引入代码审查时,都没有为它预留时间。结果是大家没有时间做审查,效果自然也就不好。而效果不好又导致代码审查得不到管理者重视,开发人员更不可能将代码审查放到自己的工作计划中。于是,形成恶性循环,代码审查要么被逐渐废弃,要么流于形式。 之前在 Facebook 的时候,我们预估工作量的时候就会考虑代码审查的时间。比如,我平均每天会预留 1~2 个小时用于代码审查,大概占写代码总时间的 1/5。同时,代码审查的情况会作为绩效考评的一个重要指标。 另外,平时我们也会给审查者关于审查质量的实时反馈。比如,我刚加入

自动化测试面试题及答案大全(1)

我只是一个虾纸丫 提交于 2020-08-15 05:57:22
自动化面试题记录整理(部分答案自己整理) selenium中如何判断元素是否存在? 没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素+异常捕获的方式判断 selenium中hidden或者是display = none的元素是否可以定位到? 不可以,想点击的话,可以用js去掉dispalay=none的属性 selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的? 1.首先通过封装find方法,实现wait_for_element_ispresent(WebDriverWait) 2.在对页面进行click之前,先滚动到该元素(通过Js封装),避免在页面未加载完成前或是在下拉之后才能显示。 3.不同方式进行定位,与expected_conditions判断方法封装,循环判断页面元素出现后再操作; 4.开发人员规范开发习惯,如给页面元素加上唯一的name,id等。 如何提高selenium脚本的执行速度? 1.优化测试用例。设置等待时间的时候,少用sleep,尽量不用implicitly_wait,多用显式等待方法; 2.减少不必要的操作步骤。如经过三四步才能打开要测试的页面的话,可以直接通过网址来打开; 3.中断页面加载。如果加载的内容不影响我们测试,就设置超时时间,中断页面加载; 4.使用Selenium grid

jenkins指定用户访问指定项目

混江龙づ霸主 提交于 2020-08-15 04:03:13
情景: 开发人员想要发布开发环境的jenkins,但是jenkins线上和开发环境在一个jenkins上面,于是基于 项目矩阵授权策略 给予开发用户指定权限 1:创建用户 Jenkins->系统设置(Manage Jenkins)->(用户管理)Manage Users->创建用户(Create User) 3:配置 项目矩阵授权策略 Jenkins->系统设置(Manage Jenkins)->Configure Global Security 此处要注意 要给admin权限的用户所有权限 访问是看不到任何项目的 4:想要看到的项目设置 启用项目安全 比如 我现在想把qa_test授权 hanye 用户访问和build权限 我这里仅仅给予 开发人员只读和查看的权限 5:访问查看 6: 其他权限 需要自己测试环境自己玩了 来源: oschina 链接: https://my.oschina.net/u/4275057/blog/4449808

十年小米测试工程师感悟——写给还在迷茫中的测试朋友!

喜你入骨 提交于 2020-08-15 04:00:00
十年测试心路历程: 大部分测试人员,最开始接触都是纯功能界面测试,随着工作年限,会接触到一些常用测试工具,比如抓包,数据库, linux 等。 我大学学的计算机专业,有一定的编程基础。我的软件测试职业开始和大多数测试人员一样,一开始在一家电商公司做软件功能测试。 放弃了年薪二十万的offer, 挑战 自动化测试 : 我当时在公司得到了领导的信任,待遇方面工资加上年终奖,年薪能达到二十万。 但是在由于当时公司规模和产品的局限性,导致自动化测试始终未能应用到公司实战项目中。我觉得外面的世界很大,自动化已经流行而且越来越普及,我想要突破自己的测试技术瓶颈,我毅然决然的跳槽一家公司专职做自动化测试工作, 于是我顶住压力,不断的系统学习自动化测试技能,而且学以致用。 我将公司产品前后端的自动化测试全部落地实现。 那些自动化脚本真正成为公司资产,在每次上线回归带来的收益远超出我的预期。 并且定时在公司的技术分享会展示效果,那种从0到1的成就感非常难忘。 后面负责自动化测试团队工作,核心框架搭建 学习用到的技术栈包括Python语言、Selenium、RF、Requests、Jenkins、以及见识到先进主流的Docker容器技术,持续集成等 让我见识到技术的魅力,技术功底的提升能让整个人非常自信。 所以自动测试给我带来的收益不仅仅是待遇的提高,包括中间做自动化测试遇到的坑,解决问题的思路

创建Jenkins构建触发器,代码提交至gitLab即自动触发构建

余生长醉 提交于 2020-08-15 03:04:46
下载所需插件,系统设置--》插件管理,搜索以下两个插件,选择安装 登录gitLab,生成一个Personal Access Tokens 进入Jenkins,添加api token,路径:首页--》凭据--》添加凭据 添加后再次打开,如图所示 然后打开系统管理,进入系统设置,配置gitLab 然后进入job,进行配置 进入GitLab,打开项目--》settings 测试成功,返回200 到此,触发器配置成功,开发一旦有提交代码,就会自动构建,如图所示 创建Jenkins构建触发器,代码提交至gitLab即自动触发构建 来源: oschina 链接: https://my.oschina.net/u/4265074/blog/4289061