自动化测试框架

自己动手写Web自动化测试框架(3):操纵Web控件

孤者浪人 提交于 2019-12-06 23:59:25
上面的两次课程我们介绍了mshtml和SHDocVw的一些用途,以及如何打开并且附加到IE上,实现IE的宏观上的控制。   这次我们将会用代码找到我们想要的控件,然后对控件进行一些操作。   首先我们引入一个很好的IE控件: Internet Explorer Developer Toolbar ,这个控件可以帮助我们方便的找到我们想要的控件的属性。   安装好这个控件之后,我们就可以方便的找到每一个控件的ID,或者 其他 属性了,如下图    IE Developer   注意,打开IE Developer Toolbar之后,要点选下面的鼠标按钮,才可以用鼠标来选择我们想要的控件。有了这个控件,我们就不用去查看源文件来找到我们想要的信息了。其他的功能这里不多说了。   接下来我们以百度的三个控件为例,分别告诉大家如何使用ID得到TextBox,如何点击使用ID得到的Button,如何使用子控件缩小范围的方法得到一个HyperLink。   首先我们修改上次的代码,把IE指到百度去: Console.WriteLine("Navigating ..."); object o = null; ie.Navigate("baidu.com", ref o, ref o, ref o, ref o); Thread.Sleep(2000);   代码我们在 自己动手写Web自动化

基于python的互联网软件测试开发(自动化测试)-全集合

杀马特。学长 韩版系。学妹 提交于 2019-12-06 14:23:26
基于python的互联网软件测试开发(自动化测试)-全集合(转) 1 关键字 为了便于搜索引擎收录本文,特别将本文的关键字给强调一下: python,互联网,自动化测试,测试开发,接口测试,服务测试,api测试,分层测试,分层自动化..etc 2 本文目的 对近几年自己对互联网领域的测试开发的一些见解以及一些学习资料进行整理和分享,希望能够给有志于此领域的人一些入门的指导。 同时能够将 Google 这样的大的互联网公司的软件开发模式向中国地区进行一些推广吧。 笔者的观点具有比较强的倾向性:人家Google都上岸了,但是我们国内的好多公司却还在摸着石头过河。 但是Google出的测试书藉里面理论部分居多,本文则是在其理论基础上,再结合中国主流的标杆互联网公司的相关岗位的招聘要求进行的技术化的实践。 这些都成就了本文的资料集。 3 本文结构 自动化测试相关博客 互联网软件测试PPT讲义 讲义视频 全部免费分享出来。 4 相关博客 4.1 观念洗脑 入这个行之前,先把脑子中的垃圾给清除掉,来洗洗脑。 软件测试行业趋势分析和思考 软件测试基本理论-IBM模式 4.2 接口和分层 接口应用小玩具-博客园积分排名变动监控工具 接口自动化测试的"开胃小菜"---简单黑客攻击手段 4.3 自动化测试 比较全面的基于Python的一些自动化测试技术: Python自动化测试(1)

自己动手写Web自动化测试框架(2):打开和操纵IE

对着背影说爱祢 提交于 2019-12-06 09:04:31
这一个部分我们来讲用SHDocVw对IE进行操作。   接下来的几篇 文章 我们都会以Console Application来向大家介绍Web自动化的一些基础。   以下的代码在VS2005上通过 测试 ,相信在VS2005 express已经VS2008上也可以通过,不过在VS2003上可能要稍微修改。使用vs2003的朋友,建议大家使用VS2005 express。   浏览器使用了IE7。 IE6以及更低版本并没有做过试验。   首先我们打开VS2005,建立一个Console Application项目:    新建一个命令行工程   接下来我们需要包含两个引用了,就是mshtml和SHDocVw。关于这两个dll的简单介绍,请参见: 自己动手写Web自动化测试框架(1) :概述    包含mshtml引用   第二个SHDocVw一定要在下面这个路径找:(C:\Program Files\Microsoft Visual Studio 8\Application\PreEmptive Solutions\Dotfuscator Community Edition) 包含SHDocVw   包含两个类库之后,我们就可以使用C#来对IE进行一些基本的操作了。   我们要添加几个命名空间,来简化我们下面的代码: using System.Diagnostics; /

Java自动化测试(一)

≡放荡痞女 提交于 2019-12-06 05:36:39
软件自动化测试范畴很广,理论我就不说了,只针对我这次选的题目——Java自定义组件的测试,从Java事件机制的基础说起,其中有一小部分关于开源软件测试框架Abbot的简单介绍 还是先说说Abbot吧,Abbot可以支持Java GUI组件从单元测试到集成测试,简单地说,单元测试时,你可以使用Abbot的一些类库,把你要测试的GUI扔给某个方法,然后Abbot可以查找某个组件,比如特定按钮,然后对那个按钮调用一下 click(我的按钮),就可以实现“点击”的效果, 你会看到屏幕上的鼠标移动到那个按钮上并点击,很有趣吧,当然你可以手工编写一堆代码控制鼠标移动到那个按钮上并点击,但是那样很麻烦,Abbot帮你封装了很多底层的操作。 对于一个已经做好的GUI,Abbot也可以进行脚本录制,也就是你在你的GUI上操作,Abbot自动记下你的动作,以脚本形式保存起来,以后你还可以进行重放。下面是官方介绍的一部分翻译: Abbot 框架 abbot提供了一个框架测试你的GUI代码,而不用考虑你的代码的当前状态。如果你喜欢进行测试驱动的开发,那么abbot提供相关工具为你生成单元测试代码。如果你已经有一堆代码但不是基于单元测试的,abbot也可以帮你生成脚本 总的来说,abbot测试首先要获得组件的引用,然后要么模拟用户操作,要么对组件的状态进行断言

unittest自动化测试框架

梦想的初衷 提交于 2019-12-05 21:55:26
目录 框架的概念 Unittest单元测试框架 框架的概念 在系统开发过程中,框架是指对特定应用领域中的应用系统的部分设计和实现子系统的整体结构。 框架将应用系统划分为类和对象,定义类和对象的责任,类和对象如何相互协作,以及对象之间的控制线程。这些共有的设计因素由框架预先定义,自动化测试框架的定义为: 由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。 按框架的定义来分,自动化测试框架可以分为:基础功能测试框架、管理执行框架; 按不同的测试类型来分,可以分为:功能自动化测试框架、性能自动化测试框架; 按测试阶段来分,可以分为:单元自动化测试框架、接口自动化测试框架、系统自动化测试框架; 按组成结构来分,可以分为:单机自动化测试框架、分布式自动化测试框架。 Unittest单元测试框架 来源: https://www.cnblogs.com/TD1900/p/11946750.html

自己动手写Web自动化测试框架(6):自动化测试框架的规划

元气小坏坏 提交于 2019-12-05 13:16:57
 从这篇开始,我们正式进入 自动化测试 框架的编写中。   首先我们先进行需求分析:我们到底要什么样的自动化测试框架?   正如第一篇 《自己动手写Web自动化测试框架(1):概述》 中提到的,我们要做的是一个简单的自动化测试框架,没有Ajax,没有框架,没有 Windows 对话框,我们舍弃这些较为复杂的功能,目的就在于,我们想要把注意力集中在自动化测试框架的架构上,以后我们可以慢慢加入这些功能,但是第一次,我们不要。   这里规划一下,我们想要的自动化测试框架是什么样子的,那么要从我们的自动化测试说起了。自动化测试代码一般是在什么时候写的呢?在 微软 里,自动化测试代码应该和被测试的网站的代码同步开发,因为有了Spec(Specification),我们就可以根据Spec来测试用例,然后把我们认为重要的,必须经常重复的用例自动化起来。   但是问题在于,我们在没有网站的情况下,如何进行自动化测试的开发呢?我们面临的困难主要有以下的方面:   * 没有网站,就没有网页元素的ID之类的标识,没有办法按照上面的办法获取我们想要的网页元素。   * 网站建设初期,页面元素不稳定,一个小小的ID的变更就可以使我们的自动化代码变的无用。   * 即使是页面元素不变,一个小小的业务逻辑的改变,也可能会很大的影响到我们的自动化测试代码。   我们的自动化测试框架

自己动手写Web自动化测试框架(1) :概述

白昼怎懂夜的黑 提交于 2019-12-05 13:16:40
记得几年前一本《自己动手写 操作系统 》在全国的技术范围内引起了 学习 操作系统的热潮。我不才在这里使用这本书的大名,来分享一下我在写 Web 自动化 测试 框架上面的一些经验。 首先定义一下Web自动化测试框架:Web自动化测试框架是一个类库,他可以帮助测试人员快速写出Web自动化测试代码,并帮助测试人员在自动化报错的时候快速找到 Bug 。   目前市场上成熟的Web自动化测试框架有不少,很出名的是Watir,是用现在大名鼎鼎的 Ruby 写成的,相对于Watir,有一个也很不错的.net版本,就是WatiN,WatiN可以说是市面上可以找到的最好的C# Web自动化测试框架。 微软 和 其他 的大公司也有自己的一些Web自动化测试框架,但是公布的并不多。   我这里将会使用C#,一步一步的写出一个最简单不过的 自动化测试 框架。这个框架的功能是基本可以测试简单的没有Ajax,没有框架,没有 Windows 对话框的一些网页。而如何测试Ajax之类的网页,我将会在其他的专题中写出。   首先我们看使用的非托管的类库。我们在这里将会使用两个非托管类库:mshtml.dll和Interop.SHDocVw.dll。 mshtml是微软IE的核心类库,下面是Wiki百科的解释:   Trident (also known as MSHTML) is the name of the

基于python的自动化测试框架搭建

大城市里の小女人 提交于 2019-12-05 06:27:00
滴 ~ 今日打卡! 好多天没来打卡了。博主最近一直在把碎片化知识转化为知识体系的过程中挣扎。 Python 语言、 selenium 、 unittest 框架、 HTMLTestRunner 框架都有所了解,也写了一批脚本去做项目的功能测试。但是感觉还是零零散散,串不起来。 所以这几天,一直在看各大博客、论坛,并尝试着自己搭一个自动化测试框架。到了今天,终于初见成效了。中间修修改改经历了很多,今天主要抽取核心部分谈谈自己的搭建思路(个人浅见,有更好 idea 的欢迎提出)。 首先,来看看整个项目的架构: 从上面两张结构图,大概讲讲每个模块下的类实现的一些方法: 1、config ||-config.yml 配置文件,主要存放一些全局配置变量,如: (1) 截图、报告、驱动存放路径; (2) 发送邮件使用到的发件人邮箱及登录密码(因为发送邮件一般用于自动发送测试报告,所以发件人比较固定); (3) 绕过登录验证码要写入的 cookies 信息 ||-config.py 包含读取配置文件方法和一些全局参数 2、data ||- 存放一些数据文件 !!-generator 一个生成各类型随机数据的类,里面包含生成随机汉字、指定位数的数字、字符串的方法,可以减少造测试数据的工作量 3、driver ||- 存放浏览器驱动 4、log ||-logger.py 封装的日志类

如何简单实现接口自动化测试(基于 python)

微笑、不失礼 提交于 2019-12-05 06:24:30
GitChat 作者:饿了么技术社区 原文: 如何简单实现接口自动化测试(基于 python) 关注微信公众号:GitChat 技术杂谈 ,这里一本正经的讲技术 一、简介 本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架 pithy 。期望读者可以通过本文对接口自动化测试有一个大致的了解。 二、引言 为什么要做接口自动化测试? 在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归。但接口自动化测试因其实现简单、维护成本低,容易提高覆盖率等特点,越来越受重视。 为什么要自己写框架呢? 使用requets + unittest很容易实现接口自动化测试,而且requests的api已经非常人性化,非常简单,但通过封装以后(特别是针对公司内特定接口),再加上对一些常用工具的封装,可以进一步提高业务脚本编写效率。 三、环境准备 确保本机已安装python2.7以上版本,然后安装如下库: pip install flask pip install requests 后面我们会使用flask写一个用来测试的接口,使用requests去测试。 四、测试接口准备 下面使用flask实现两个http接口,一个登录,另外一个查询详情,但需要登录后才可以

软件测试招聘要求汇总(苏州)

北城以北 提交于 2019-12-05 03:57:28
一、测试高级工程(15K-25K) 岗位职责: 1. 负责PC端、微服务应用的各类测试工作保证产品质量 2. 根据产品需求和设计文档,编写测试计划、测试用例 3. 根据需求完成测试环境的搭建和维护工作 4. 执行测试并确认測试结果、缺陷追踪提交测试报告 5. 参与自动化脚本编写,尝试新方法、新工具提高测试效率 岗位要求: 1. 至少5年以上测试经验,有自动化测试经优先,熟练掌握shell、 python等脚本语言,有专研新技术的偏好 2. 熟悉软件测试流程和规范,熟悉相关测试工具和管理工具(熟悉tapd优先) 3. 熟练使用SQL熟悉至少一种常见数据库具备一定的日志分析能力 4. 熟悉测试基本理论、包括黑盒、白盒测试技术 5. 熟悉功能测试和性能测试方法,并能根据目特点,设计测试策略和测试方案 6. 测试运维技术,熟悉 Jenkins、 docker、Tomcat、 maven、git等自动化集成工具。掌握些开源自动化部署集成平台优先 7. 善于与人沟通,为客户部门技术支持 二、高级测试工程师15-20K 职位描述: 1. 移动APP测试相关:功能测试,接口测试,界面自动化测试 2. 移动APP性能测试 3. 与项目相关人员就项目进度和问题进行沟通 4. 与优秀的工程师合作设计并推动测试工具与流程实现,以提高工程效率 5. 在核心技术团队中参与开发并构建接口、界面自动化框架