自动化测试

CICD - 持续集成与持续交付

匿名 (未验证) 提交于 2019-12-03 00:15:02
持续集成与持续交付是软件开发和交付中的实践。我们项目中一直在践行持续集成(CI:Continuous Integration);持续交付(CD:Continuous Delivery)未能达到理想状态,只能实践一部分。这篇文章用于总结CI/CD的实践。 持续集成 什么是持续集成? 软件开发中,集成是一个很可能发生未知错误的过程。持续集成是一种软件开发实践,希望团队中的成员频繁提交代码到代码仓库,且每次提交都能通过自动化测试进行验证,从而使问题尽早暴露和解决。 持续集成的好处是什么? 持续集成可以使问题尽早暴露,从而也降低了解决问题的难度,正如老马所说,持续集成无法消除bug,但却能大大降低修复的难度和时间。 如何做到持续集成? 首先,持续集成需要: 1. 单一的代码仓库,团队成员都像该仓库提交代码; 2. 自动化构建且构建过程需要包含自动化测试; 3. 有单独的集成机器用于构建; 4. 保证构建速度不要太慢(曾经有一个项目构建需要20分钟,就会很痛苦); 5. 在类产品环境进行测试; 6. 能够方便获取最新的可执行程序; 7. 可视化,大家都能看到构建过程及结果; 8. 自动化部署。 其次,我们通过以下步骤进行持续集成: 1. 程序员将代码下载到本地,并在完成修改后提交代码; 2. CI服务器监测代码库,并在有提交时自动触发; 3. CI服务器对代码进行构建,运行单元测试和集成测试

面试――自动化测试面试

匿名 (未验证) 提交于 2019-12-02 23:57:01
总结: 1,做自动化测试遇到的最大困难 2,总共写过多少个自动化测试用例 3,自动化测试的优缺点 4,在使用Selenium中遇到的最大的问题?如何解决? 5,有无发现selenium的BUG 6,与人工测试相比,Selenium测试的产出,相对的优势? 7,项目中的测试覆盖率指什么?有总结测试覆盖率报告吗?自动化测试用例的最高覆盖率多少 8,自动化测试中遇到用例fail掉怎么排查故障? 9,page object模式中,如何实现页面的跳转? 10,你觉得自动化测试最大的缺陷是什么? 11,你们公司的自动化投入产出比怎样?效益怎样? 12,什么样的项目比较适合做自动化测试?什么样的不适合? 来源:博客园 作者: 小新人~ 链接:https://www.cnblogs.com/gaogo/p/11443054.html

【转】单元测试、接口测试、功能测试的区别

匿名 (未验证) 提交于 2019-12-02 23:55:01
   先来看看功能测试如何进行的:编写测试用例,测试用例当中最主要的是测试步骤和预期结果;测试人员根据测试用例执行操作步骤,然后通过眼睛和思考判断实际结果与预期结果是否相等。如果相等,测试通过;如果不相等,测试失败。   自动化测试要做的事情与功能测试是一致。这里的自动化主要包含三个层面的自动化,单元测试自动化,接口测试自动化和web测试自动化。当然,不同层面的自动化关注点是不一样的。   单元测试自动化,调用被测试的类或方法,根据类或方法的参数,传入相应的数据。然后,得到一个返回结果。最终断言返回的结果是否等于预期结果。如果相等,测试通过;如果不相等,测试失败。所以,这里单元测试关注的是代码的实现与逻辑。元测试是测试中的最基本的测试, 也是测试中的最小单元, 它的对象是函数对象,也可以包含输入输出, 针对的是函数功能或者函数的内部逻辑方面。 并不包含业务逻辑。   接口测试自动化,根据接口文档,到底是传get请求呢?还是post请呢?调用被测试的接口,构造相应的数据(id=1,name=zhangsan),得到返回值,是200成功,并返回查询结果。还是10021,用户名不能为空。不管输入的参数是怎样的,我们都将得到一个结果。最终断言返回的结果是否等于预期结果。如果相等,测试通过;如果不相等,测试失败。所以,接口测试关注的是数据。只要数据正确了,功能就做成大半

Pytest、TestNG

匿名 (未验证) 提交于 2019-12-02 23:42:01
Pytest 成熟的全功能的Python测试框架, 简单灵活,容易上手,文档丰富 支持参数化,可以细粒度地控制要测试的测试用例; 能够支持简单的单元测试和复杂的功能测试,可以用来做selenium等自动 化测试、接口自动化测试(pytest+requests) pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)等 很好的和CI工具结合,例如jenkins pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效 TestNG是Java中的一个测试框架,是一个目前很流行实用的单元测试框架,有完善的用例管理模块,配合Maven能够很方便管理依赖第三方插件。 使用TestNG可以做功能、接口、单元、集成的自动化测试,最常见的是结合selenium做功能自动化测试 Java注释去写测试方法 可以更轻松地对测试用例进行分组和优先级排序 它提供了生成HTML执行报告的能力 数据参数化 文章来源: https://blog.csdn.net/weixin_42862552/article/details/91613130

自动化测试中,元素无法点击定位等问题的解决:js的使用方法

匿名 (未验证) 提交于 2019-12-02 23:39:01
在自动化测试中经常会遇到使用selenium方法定位元素点击操作失败的情况,例如,我们想实现在浏览器输入http://www.baidu.com,进入百度首页后,鼠标悬停在“更多产品”上,点击“全部产品” 若不使用js的话,代码应该如下图所示: 我们执行代码后,发现会报错 我们该如何解决这个问题呢,那就要用到这篇文章的主角js了,将代码修改为如下内容,执行代码,发现页面正常跳转了 我们在编写自动化测试用例的过程中,有时会遇到某个元素的长宽设置的比较大,将我们想要点击的元素遮挡住了,该怎么办?我们可以使用js的方法,先将遮挡我们的元素去掉,这里举个例子,我们利用js去掉百度的搜索按钮,执行以下代码 执行代码后,我们发现百度搜索按钮消失了 想看看js的效果的话,我们可以直接在浏览器按一下F12的按键,鼠标点击Console或者控制台 打开百度首页,按F12后,在控制台输入document.getElementById("kw").value="你喊",之后输入回车后,看一下效果吧 JS的使用方法: 一、查找元素: 1、根据元素的id查找元素:document.getElementById(元素id值) 2、根据元素的class属性查找元素:document.getElementsByClassName(元素class值) 3、根据元素的TagName属性查找元素:document

如何降低自动化测试成本?

匿名 (未验证) 提交于 2019-12-02 23:32:01
背景 UI自动化是提高测试效率不可少的手段。闲鱼UI自动化之前的情况是脚本维护成本较高,因此减少脚本投入的成本作为提高自动化效率的第一步。 设计思路 1、monkey大家都了解,毫无顺序的随机乱点,可以用来测app的稳定性,如果能记录monkey点击的元素,那就相当于有了自动化脚本里面的操作步骤 2、有了操作步骤后,我们还需要预期结果才能算一条完整的用例,如果能把点击后,界面的元素记录下来,我们就可以作为预期结果来使用 3、然并卵,这样的脚本根本没用,范围不可控,操作路径又太长,没有mock服务端数据脚本根本跑不起来 4、改进策略,脚本按页面的维度来设计,只针对当前页面点击,跳出去后返回到当前页面继续点击下一个元素 具体实现 01 遍历实现 获取页面元素 1、页面元素获取,使用appium自带方法getpagesource获取 2、 获取界面元素的同时需要获取页面名称,作为唯一标识,Android端能获取activity,ios只能采用hook方式拼接页面名称 3、将页面元素+页面名称记录 页面操作 1、页面判断,不在当前页面,或者appcrash等异常,重启app回到该页面,或者back会页面 2、读取元素包括,id,name,bounds,封装使用id,xpath点击方式,找不到id,就用xpath点击,保底方法 3、过滤不可点击的元素,能区分出来不可点击的元素(本地有记录

iOS微信公众号自动化测试

匿名 (未验证) 提交于 2019-12-02 23:03:14
最近在测试微信公众号(微信银行),在网上查关于iOS公众号测试的文章很少,而且很麻烦。现在发现最新版的Appium1.9.1支持微信里的H5。 1、下载appium1.9.1后,用Xcode制作WebDriverAgentRunner 2、配置appium参数 3、启动appium后可以识别H5元素 文章来源: iOS微信公众号自动化测试

Python 自动化测试

匿名 (未验证) 提交于 2019-12-02 22:56:40
一、软件环境 1、安装软件   (1)Anaconda   (2)NIVISA 2、安装库   (1)pyvisa(支持其他大部分设备)   (2)pyserial(支持串口) 3、安装方法   (1)pip   (2) python setup.py install 二、硬件环境 1、PC 2、设备 原文: https://www.cnblogs.com/zhouwei0808/p/9247309.html