- 博客(12)
- 收藏
- 关注
原创 Selenium面试问题和答案-2
1.你能解释下Selenium这个框架吗? 这个问题在面试中被问到的概率还是比较高的,同样类似的问题有,selenium的原理是什么?首先不要被这个问题吓到,我们主要围绕selenium的历史版本演化和基本的组件去展开描述就好,最后回到webdriver这个组件上面,我们基本上都是在使用webdriver提供的API。所以这个题目的最好的答案就是把图画出来,然后自己解释几句就可以。 ...
2018-02-28 14:50:55 7660
原创 关键字驱动框架入门教程-13-项目打包交付给手工测试人员
通过前面这些篇文章介绍,我们基本上完成了这个关键字驱动框架的设计过程。虽然是一个雏形,但是还是能够跑起来。本篇开始我们就不讨论这个框架的缺点和需要改进的地方,这部分我放到文章末尾来讲。本篇主要来学习如何把项目打包然后交付给手工测试人员使用。 这篇改成原创,是因为原翻译的系列文件最后一篇讲的是Excel的二级菜单联动,并没有讲框架打包和如何给手工测试人员使用。接下来,我们就...
2018-02-14 13:12:29 1993
翻译 关键字驱动框架入门教程-12-数据驱动技术
什么是数据驱动 数据驱动,意思是写一个测试用例,可以覆盖这个测试用例的各种不同条件的测试场景步骤。核心实现是,需要输入的参数是外部数据源提供。本框架输入的用户名和密码其实就写死的,但是很多场景我们都需要不同的测试数据去执行同一个测试用例。 举例一个更具体的例子,在我之前做过的项目中,我们做了一个新的用户中心后台系统。系统上线之前,我们最担心的是会不会影响之前旧的用户的登录...
2018-02-10 00:05:03 2798 2
翻译 关键字驱动框架入门教程-11-测试结果报告
上一篇,我们介绍了如何在框架中处理异常。简单来说就是没一个方法里面都需要使用try-catch语句。而且我们注意到只要定义的static变量bResult变成了false,说明就出现了异常。本篇我们就是来讨论下如何处理当bResult变成了false之后的后续步骤。简单一句话说,如果bResult的值变成了false,我们就在Excel对应用例位置标识failed的标记,如果是ture...
2018-02-09 13:24:17 1730
翻译 关键字驱动框架入门教程-10-异常处理
什么是异常 一个异常其实就是一个事件,特点就是在程序执行过程中出现的,会打断正常的程序设计流程。简单来说,在自动化测试中,任何一个错误,导致你执行用例失败,这个就是一个异常。 错误和异常的区别 一个错误,一般是验证的问题,是无法通过try catch捕获的。异常是可以想象得到的报错,可以手动捕获并处理。一行代码如果发生错误,例如不符合语法规范,那么根本通不过编译,但是一个...
2018-02-08 23:20:11 1213
翻译 关键字驱动框架入门教程-9-用log4j输出日志
在执行测试用例过程中,用户想要一些信息打印输出到控制台。信息可以是很多格式,完全取决于目的。当前我们在用Selenium进行自动化测试,本框架也需要输出一些信息来告诉使用的人,当前在执行什么用例,执行用例的哪一个步骤,如果失败有没有相关报错。如果使用log4j,我们在执行selenium自动化测试是可以实现日志输出的功能。一般来说,我们发现问题,上报Bug一般要提供一下要素:1) 一...
2018-02-08 12:48:22 1230
翻译 关键字驱动框架入门教程-8-测试套件执行引擎
当我们谈论自动化测试框架,更多的我们会想到框架的高效。在当前我们搭建的框架阶段,我们只是跑了一条单个的测试用例。在实际自动化测试项目中,很可能是几百条测试用例或者很多个测试组件。有时候我们需要全部执行这些测试用例,有时候我们只需要执行每个测试套件里面的一部分测试用例,一个好的测试框,需要执行类似这样的需求。在这一篇文章,我们将会学到如何在一个测试组里面把测试用例一条一条地执行。所以我们需要设计实现
2018-02-07 15:45:36 2789 3
翻译 关键字驱动框架入门教程-7-对象仓库
在识别和实现动作关键字这篇文章,你一定注意到了,我每个元素操作都写了一个动作关键字的静态方法。这确实是一个很不好的设计,试着想一下,如果我实际项目中,有很多网页元素要操作,那么是不是要写成千上万的动作关键字呢?很显然,我们潜意识里就好对元素对象操作进行分类,例如点击元素,我们就封装一个点击方法,不用在意点击的元素是什么。元素文本框输入也封装一个元素输入方法,这样我们基本上一个点击和一个输入动作关键
2018-02-06 12:39:55 2229
翻译 关键字驱动框架入门教程-6-建立常数变量
到目前为止,我们在java代码中使用了很多硬编码,例如百度浏览器地址和每个元素定位表达式和用户名和密码字段。有时候,硬编码是不可取的,例如用户名和密码可能在多个地方需要使用,在代码中,我们建议把一些常用的变量给提取出来,放到单独类或者配置文件中去,方便统一管理和修改。这样,如果出现变化,你只需要改动一处,其他地方就不用管。这篇,我们介绍把这些提取出来的常量利用Java中的常数变量来保存,就好像系统
2018-02-05 17:19:33 1641
翻译 关键字驱动框架入门教程-5-用Java反射机制优化
在前面几篇文章,我们发现了,如果要运行任何操作,我们需要利用Apache POI去Excel关键字这列拿数据并和代码中相关静态方法去匹配。到目前,我们就写了6个关键字动作,结果在if-else-if-else中我们需要写好多个判断分支,试想一下,如果按照这个思路,一个项目的自动化,有几百个测试用例,其中一个测试用例有好几个测试场景,那么我们的动作关键字驱动会写几千甚至上万个,难道也需要写上万个if
2018-02-04 23:31:06 2354 1
翻译 关键字驱动框架入门教程-4-搭建数据引擎-用Apache POI去读取数据
在上面一篇文章,我们定义了几个动作关键字,并把它们放入到DataEngine的Excel表格里。现在我们想在Selenium自动化测试脚本中去识别Excel中关键字,那么我们就需要利用Java去读取excel的数据,所以,这篇,我们主要来讲如何使用开源jar包工具—Apache POI来读取Excel文件数据。 搭建Data Engine—利用Apache POI 我们需要
2018-02-01 17:47:15 2510 1
翻译 关键字驱动框架入门教程-3-识别并设计实现动作关键字
前面一篇,我们实现了一个基于Selenium的基本的自动化脚本-登录百度账号。接下来,你需要做的事情是搭建你的测试步骤需要用动作关键字并把关键字记录在Excel表格里,然后我们会单独创建一个类来管理这些动作关键字,这样,测试脚本就很容易去调用关键字相关方法(回想一下第一篇介绍的那张原理图)。动作关键字就是,利用一个简短的单词(词语)来描述这个动作场景。 识别动作关键字 1)在IDE
2018-02-01 15:24:54 3541 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人