自动化测试

web自动化测试总结

帅比萌擦擦* 提交于 2019-12-03 07:46:32
web自动化: 1.测试用例(操作步骤,熟读需求文档,web项目先用手工研究,前置条件,预期结果) 接口自动化测试中数据功能最适合作为数据驱动,数据放在excel中需要操作excel 为什么web自动化测试中不能完全使用数据驱动? web页面中步骤不一样,而接口完全不关心操作步骤理清思路 2.自动化测试测试典型: 逻辑单一 业务稳定 非多端交互,多端交互涉及到多个子系统这种不适合做web自动化测试 3.开始着手写代码 业务逻辑要和测试逻辑分离 测试代码: 基础类:DoExcel类,中间层:qcdDoExcel(DoExcel),调用的时候更加简单 分层: 采用函数封装 类和对象 POM(面试必问)   PageObject:页面对象模型,本质是把页面逻辑和测试逻辑分离好处是复用性 扩展性和代码可维护性和可读性   PageObjectModel locator 数据分组:基于数据驱动,想在web中实现数据驱动的模式,最简单的就是数据分组 basepage   ddt本质是保证一个独立的测试用例,动态生成一个测试用例test_bid_error_01 test_bid_error_02 所以ddt中自动创建了n个测试用例 进行excel管理时,实现更多的表单 在原生app中不能用css定位,因为app原生里面不是用html Select 封装:def get_option

CICD - 持续集成与持续交付

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

移动端自动化测试之adb常用命令

点点圈 提交于 2019-12-03 04:47:45
今天我们来聊聊自动化测试过程中常用的adb命令。 简介 首先介绍下什么是adb,adb全称叫“android debug bridge”,翻译过来就叫调试桥,通过命令行指令,可让你与移动端设备进行相互通信。adb 命令便于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括以下三个组件:1. 客户端 :用于发送命令。客户端在开发计算机上运行。您可以通过发出 adb 命令从命令行终端调用客户端。2. 守护进程 (adbd) :在设备上运行命令。守护进程在每个设备上作为后台进程运行。3. 服务器 :管理客户端和守护进程之间的通信。服务器在开发计算机上作为后台进程运行。 执行 那么如何进入这个adb的命令行窗口呢?首先你需要安装Android SDK,不知道如何安装的请看我之前写的博客: 移动端自动化测试之软件安装 ,安装好SDK之后,adb程序就存储在sdk\platform-tools目录下,但进入adb命令行窗口并不是通过双击执行adb程序,而是直接在cmd命令行打adb指令就可以了。这里有个必要的前提就是你需要将adb的目录加入到环境变量中去,然后直接在命令行输入adb,点击回车。如果出现以下界面,那就证明你的adb程序可以正常执行啦 常用命令与解析 启动服务 命令格式:adb start

[转]Python 自动化测试框架 Robot framework 入门(中文)

自闭症网瘾萝莉.ら 提交于 2019-12-03 02:51:35
最近项目需要加入sanity test,测试工具选择了Robot framework。其官方文档很长,但是官方编写的快速入门手册又缺少一些和python自动化测试相关的概念及实践介绍,因此我找到一个写得比较"入门“的博客。转载地址如下: https://blog.csdn.net/be5yond/article/details/54746121 (Robotframework 入门教程(一)) 完整的教程系列地址是:https://blog.csdn.net/be5yond/article/list/1? 目前共有十篇博文,看完后就可以理解项目中有关Robot框架的代码了。 来源: https://www.cnblogs.com/r0xFED/p/11774685.html

7年过去了,纯手工测试88~~~

匿名 (未验证) 提交于 2019-12-03 00:41:02
1)2011.7~2011.10 大三暑期即将来临前,有个51testing培训机构的老师去招学生,为期4个月的软件测试工程师的培训. 上一届的学长有在此之后完美找到工作的案例.在这种机缘巧合的情况下,鉴于自己对编程世界的懵懂不自知,对自己的不自信,我报名学习了,从此走上了测试之路,曾经自己想成为的java高级开发工程师再与我无关. 2)2011.11.2~2012.5.25 临近培训结束之际,小伙伴们纷纷找到了工作,而我也顺利进入拉手网(一家团购网站)做了web测试工程师一直做实习.其实当时是很不服气的,大家明明起步都差不多,可能比一些人还好,却因为没有正式的本科毕业就只能以实习生的身份参加工作,五险一金统统没有.当然还是因为自己的年轻气盛,沉不住气,对当时的工作环境不是很喜欢,老是加一些无意义的班,就借着做毕业答辩之机辞职了,而此时我已找好了下家.(实习期3.5k,五险一金无) 3)2012.7-2013.3.13 毕业答辩结束就入职了第2家单位(海辉高科),这也是自己本科毕业之后的第一家公司,公司氛围很nice,工作内容很简单,纯英文的工作环境,就是把外包过来的项目做本地化测试,各种各国语言的测试用例执行.用例都是人家写好的,有时用例跑完了,可能自己也并不知道这个系统到底是什么样的作用,这些系统都是给企业用的.在里面过着朝九晚六的生活,当然项目结束之后

自动化框架-数据驱动

匿名 (未验证) 提交于 2019-12-03 00:39:02
https://www.cnblogs.com/fnng/p/6111516.html 最近在整理接口测试相关的资料,所以,看到有关资料就会多看两眼。偶看到别人发的微信公众号。 曾几何时,也许某大牛说,搞自动化必须要把测试数据放文件里,然后通过程序读取文件。于是,大家纷纷效仿。 什么?你做自动化测试居然不读取测试数据文件,一看就是新手,没逼格。 小王啊!我们这个自动化框架一定得做数据与代码分离,得读取文件啊! 在这个全民微信的年代,各位大牛开了公从号,传授大家自动化测试技术,教点啥呢?那我们就从读取数据文件开始起吧! 什么是数据驱动? 从它的本意来解释,就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。说人话,其实就是参数化。 数据驱动有什么用? 对开发来说说,数据驱动无处不在,写好了一个模块,传个参数调用一下,看结果是不是等于预期。 def add(a,b): return a + b if __name__ == ‘__main__‘: result = add(3, 5) assert result == 8 对测试有来说就可厉害了,你知道早期的自动化测试(工具)都是流水式,第一步打开浏览器,第二步输入“abc”,第三步点击按钮。假如我有一个登录,登录的步骤完全一样,就是每次登录时用的账号密码不一样。用数据驱动啊! # 伪代码 def login

Xcode 命令行自动化测试脚本

匿名 (未验证) 提交于 2019-12-03 00:22:01
记录一下Xcodebuild命令行工具进行自动化测试的步骤。 1,找到xcode文件位置,我本来是下载的,后来拖进程序里就在applications文件夹下了。 xcodebuild -showsdks 显示已有的sdk,如果提示有问题,注意一下xcode的路径。 2,然后就可以进行命令行调用了。 写在sh文件里最后这个分号可以分隔多个测试。批量很方便。 3,要说明的是这个test命令是默认All test,test后面加[-only-testing:<test-identifier>]可以指定测试方法。 4,现有问题:生成的snapshot图片在测试过程中能看到,但是测试完自动删除掉了,我们需要提交截图,这个还在找原因。 #补记,snapshot自动删除的罪魁祸首找到了,delete when each test succeeds 被勾选了。如图: 文章来源: Xcode 命令行自动化测试脚本

selenium自动化测试遇到的问题

匿名 (未验证) 提交于 2019-12-03 00:22:01
 问题1:   当出现如下错误时:ElementNotVisibleException: Message: element not visible,表示元素是不可见的;首先确认是不是你定位元素就有问题导致元素确实不存在;其次有些元素可能确实需要一定的加载时间,如果没有加等待,脚本程序可能会运行过快,从而定位不到这个元素;   解决方法:   1.增加等待时间,time.sleep(5),这种方法比较通用,但是缺点时,如果加载的时间超过了给定的值,依然会报错;而且不管加载时间是长是短都需要sleep 5s;如果代码里出现很多这个,会增加脚本执行的时间;   2.设置等待,包含显示等待和隐式等待,在一定时间内等待元素的出现,如果出现了,就即刻执行下面的代码,不会浪费多余的时间;   问题2:   当出现如下错误selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document,意思是页面元素没有连接成功,一般是由于返回或刷新页面导致丢失;这个问题还是比较常见的,比如:在增加一个什么内容时,操作页面填写好内容,点击保存,一般会返回到列表页,但是列表中没有实时出现新增的这一条数据

接口自动化测试&amp;jenkins教程

匿名 (未验证) 提交于 2019-12-03 00:22:01
&jenkins 接口测试点 1 检查接口返回是否跟需要一致 2 参数组合输入,查看返回结果 3 参数边界条件检查 4 参数异常输入检查 5 接口安全问题检查 6 接口性能 接口自动化测试注意事项 1 接口case要不影响 2 接口case可独立运行 3 可重复运行 jmeter 1 postman做接口测试,case不能保存,jmeter可以 2 jmeter图形界面,易操作,易管理 3 jmeter接口case可以结合jenkins做持续集成 4 jmeter可以获取前一个请求的返回,作为参数 5 可以校验数据库 jmeter 1 环境:jdk1.8或以上 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html jdk8后需要glibc2.4的环境,安装指导地址: 2 jmeter下载地址: http://www.ddooo.com/softdown/69686.htm 3 打开jmeter case jmeter 1 在测试case上,添加->threads(Users)->线程组 2在线程租上,右键添加配置原件->http cookie管理器(用于登录) bin下的 jmeter.properties 文件 CookieManager.save.cookies