自行整理附代码
断情音
一世很短,我们已经错过了二十余年,余生我要陪伴你身旁,真心爱你,不让你难过委屈。
展开
-
Selenium自行整理【四十】
7.2.3、常用注解在 Junit 中提供了以下常用注解。-----------------------------------------------------------------------------------------------------------------------------------------------------------------------...原创 2019-08-07 10:20:22 · 123 阅读 · 0 评论 -
Selenium自行整理【四十九】
9.3、Page Factory 实例 其实 Page Factory 和 Page Object 的目的是一样的,都是为了将元素定位与用例分离,从而提高 web自动化测试用例的可维护性。只不过,Page Object 可以看作是一种通用的设计模式,而在 Java 版的 Selenium中专门提供了 PageFactory 类。 这里有个比较神奇的地方,并没有出现...原创 2019-08-08 16:33:50 · 307 阅读 · 0 评论 -
Selenium自行整理【四十八】
接 Selenium自行整理【四十七】接下来以 126 邮箱登录为例演示 Page Object 的进一步封装。首先创建 LoginPage.java 类。package com.po.demo;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.se...原创 2019-08-08 16:31:19 · 133 阅读 · 0 评论 -
Selenium自行整理【四十七】
第 09 章Page Object 设计模式 Page Object 是 Selenium 自动化测试项目开发实践的最佳设计模式之一,Page Object 的主要体现于对界面交互细节的封装,这样可以使测试案例更关注与业务而非界面细节,提高测试案例的可读性。 9.1、认识 Page ObjectPage Object 设计模式的优点如下: ● 减少代...原创 2019-08-08 16:28:49 · 130 阅读 · 0 评论 -
Selenium自行整理【四十六】
接 Selenium自行整理【四十五】例 2:通过 DataProvider 传递参数。8.6、查看测试结果 TestNG 默认会在项目的目录下生成测试报告: 我的测试报告的目录为:.../workspace\mypro\test-output/emailable-report.html...原创 2019-08-08 16:26:04 · 138 阅读 · 0 评论 -
Selenium自行整理【四十五】
8.5、TestNG 测试技巧8.5.1、依赖性测试比如下面的测试代码:package com.testng.test;import static org.testng.Assert.assertEquals;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.open...原创 2019-08-08 16:19:43 · 181 阅读 · 0 评论 -
Selenium自行整理【四十四】
8.4、运行测试用例 在运行测试用例之前,我们首先要用 TestNG 编写一个单元测试用例,我们以百度搜索为例,代码如下:虽然其单元测试的写法与 Junit 很像,但注意文件头部,我们并没使用 Junit 的相关模块,而是用的TestNG 的相关模块。TestNG 的运行测试用例有两种方法。方法一: 在测试用例文件右键,选择 Run As --...原创 2019-08-08 16:16:39 · 168 阅读 · 0 评论 -
Selenium自行整理【四十三】
第 08 章TestNG 单元测试框架 不是已经学过 Junit 么了,为什么还要再学习 TestNG,其实我也有考虑只讲其中一个,Junit 过于经典和重要,不得不讲,xUnit 的单元测试框架都是从它继承和借鉴而来,但 TestNG 既然能在 Junit 的光芒下存在,必然有它的独特之处。所以,我们有必要再花些时间来了解 TestNG 的特点,已经有前面的知识做铺垫,学习它...原创 2019-08-08 16:14:26 · 97 阅读 · 0 评论 -
Selenium自行整理【四十二】
7.2.6、单元测试中的概念 Junit 单元测试的学习,临近收尾,我们来回顾它所包含的几个概念,当然这几个概念来自于 Python的 unittest 的文档中开篇介绍,我发现它同样适用于 Junit 单元测试框架,这几个概念分别是:test fixture, testcase, test suite, test runner,我觉得只有理解了这几个概念,才能真正的理解单元测试...原创 2019-08-08 16:05:18 · 147 阅读 · 0 评论 -
Selenium自行整理【四十一】
7.2.5、批量执行测试用例 如果你在一个类中实现了多个测试方法,通过运行按钮执行,就已经实现了测试用例的批量运行。本节所讨论的问题是,测试用例不在一个类(文件)中,甚至不在一个包中,如何批量的来执行这些测试用例,在 Eclipse 中批量执行测试有多种方式,本小节中介绍两种比较常用的方式。方法一: 这种方式非常简单,不需要额外多写一行代码,Eclipse 本...原创 2019-08-08 16:01:02 · 134 阅读 · 0 评论 -
Selenium自行整理【三十】
5.2、模块化实例 通过对自动化测试模型的介绍,我们了解到模块化设计的优点。本节我们就以具体的例子来介绍模块块的具体应用,当然,使用它的基础是 Java 语言中的函数与类方法的调用。 对于手工来说,测试人员在执行用例的过程中可以一次登录后验证多个功能后退出,但自动化测试的执行有别于手测试的执行,需要保持测试用例的独立性和完整性,所以每一条用例在执行时都需要登...原创 2019-08-06 10:14:20 · 202 阅读 · 0 评论 -
Selenium自行整理【二十九】
第 05 章自动化测试模型 ● 在介绍自动化测试模型之前,我们试着来解释自动化测试库、框架和工具之间的区别。 ● 库的英文单词叫 Library,库是将代码集合成的一个产品,供程序员调用。面向对象的代码组织形式而成的库也叫类库。面向过程的代码组织形式而成的库也叫函数库。所以从这个角度来看,我们在第四章是介绍的 WebDriver 就属...原创 2019-08-06 10:10:23 · 236 阅读 · 0 评论 -
Selenium自行整理【五十】
第 10 章自动化测试项目实战 如果是根据本文的章节安排,学完前面九个章节的内容,相信此时已经具备了开发自动化测试项目的能力。如果到此为止你依然对如何开展自动化测试无从下手,那么可能会有两个原因:一方面原因可能是前面的内容学习的不够扎实,没有达到理解运行程度。另一方面可能是对被测项目的理解不够,不能挖掘出相关的自动化需求。不管出于哪一方面原因,本书都有责任帮助你强化前面所学的内容。...原创 2019-08-08 16:40:10 · 180 阅读 · 0 评论 -
Selenium自行整理【五十一】
10.2.2、编写邮箱登录测试脚本 下面我们就通过前面学习的 Page Object 设计模式,利用 testNG 框架组织和运行测试用例。在此之前简单的规划一下测试项目结构: 我们简单的将项目规划为三层架构,page 层用于封装页面元素的定位。cases 层调用 publics 层提供的动作实现具体的测试用例。代码1【LoginPage】:pa...原创 2019-08-09 09:56:20 · 123 阅读 · 0 评论 -
Selenium自行整理【三十九】
7.2、Junit 单元测试框架解析 相信通过上一节的学习我们已经对 Junit 了初步的认识,起码已经知道了用它写自动化测试用例是什么样子。这一节我们将更详细的学习 Junit 单元测试框架。 什么是单元测试?单元测试负责对最小的软件设计单元(模块)进行验证,它使用软件设计文档中对模块的描述作为指南,对重要的程序分支进行测试以发现模块中的错误。在 Java...原创 2019-08-07 10:16:21 · 153 阅读 · 0 评论 -
Selenium自行整理【三十八】
第 07 章Junit 单元测试框架 对于不熟悉编程的测试新手来讲,单元测试是个听起来高大上的话题,貌似只有高级测试或开发人员才能胜任这项工作。其实,它并非想象的那么高级,本章我们就来揭开单元测试面纱。 可能还有个疑问,我们不是在学 Web 自动化么?为什么要去学习单元测试框架,又不是教我们写单元测试的文章。可没有人告诉你单元测试框架只能用于代码级别的测试。对于单元...原创 2019-08-07 10:09:19 · 232 阅读 · 0 评论 -
Selenium自行整理【三十七】
6.6、等待与变量 继续参考本章示例图,介绍的等待(waitFor)和定义变量(store)的使用。6.6.1、等待 Selenium IDE 中提供了 pause 来设置固定时间的休眠,而 waitFor 则用于在一定时间内等待某一元素显示。 waitFor 的 Value 如 果 为 空 , 则 默 认 时 间 为 60 秒 。...原创 2019-08-07 10:06:07 · 286 阅读 · 0 评论 -
Selenium自行整理【三十六】
6.4、Selenium IDE 命令Selenium IDE 中提供了丰富的操作命令,在 Selenium IDE 的 Command 的下拉列表框中可以选择使用这些命令,如下图所示介绍几个常用的命令 ● open 在浏览器中打开 URL,可以接受相对路径和绝对路径两种形式 ● click 单击链接、按钮、复选和单选框 ...原创 2019-08-07 10:03:47 · 178 阅读 · 0 评论 -
Selenium自行整理【三十五】
6.3、创建测试用例6.3.1、录制脚本 打 开 Selenium IDE, 录 制 按 钮 默 认 为 启 动 状 态 , 在 地 址 栏 中 输 入 要 录 制 的 URL ( 如https://www.baidu.com),脚本录制完成后,关闭录制按钮,如下图所示6.3.2、编辑脚本 Selenium IDE 录制的脚本通常不是百分百符合我们需求的,...原创 2019-08-07 09:51:38 · 121 阅读 · 0 评论 -
Selenium自行整理【三十四】
6.2、Selenium IDE 界面介绍 打开 Selenium IDE,界面 如下图所示。Selenium IDE 界面介绍: 1、 文件(F):创建、打开和保存测试案例和测试案例集。 编辑(E):复制、粘贴、删除、撤销和选择测试案例中的所有命令。 Actions(行为):设置脚本的录制与运行。...原创 2019-08-07 09:48:33 · 153 阅读 · 0 评论 -
Selenium自行整理【三十三】
第 06 章Selenium IDE 相信有不少朋友学习 Selenium 是从 Selenium IDE 开始的,作为基于 Firefox 浏览器的一个插件,Selenium IDE 结合浏览器提供了脚本的录制、回放以及编辑脚本功能,可以帮助我们快速理解和学习自动化测试。 本章的目的是帮助读者开发自动化测试脚本, Selenium IDE 作为 Selenium...原创 2019-08-07 09:38:27 · 136 阅读 · 0 评论 -
Selenium自行整理【三十二】
5.3.4 读取 xml 文件 有些时候我们所需要读取的文件并没有固定的行和例,而是一些不规则的配置信息,例如我们需要一个配置文件来配置当前自动化测试脚本的 URL、浏览器、登录用户名/密码等。这个时候可以选择 XML 文件来配置这些信息。 那么什么是 XML? XML 即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的...原创 2019-08-07 09:32:59 · 174 阅读 · 0 评论 -
Selenium自行整理【三十一】
5.3.2 百度搜索 再来看一个百度搜索的例子。我们每天上网一般要用很多次百度搜索,而我们每次在使用百度搜索时步骤都是一样的,不一样的是每一次搜索的“关键字”不同。下面我们就以数组的方式对搜索的关键字进行参数化。 首先将百度搜索的步骤定义为 sreach()方法,搜索的关键字作为方法的入参。 接下来在 main()方法中定义字典 sreach...原创 2019-08-07 09:28:37 · 124 阅读 · 0 评论 -
Selenium自行整理【五十三】【完】
10.2.4、输出测试结果 执行测试用例,查看测试报告如下:../test-output/emailable-report.html10.2.5、本章小结 在这一章中,我们对手工测试用例与自动化测试用例进行了简单的对比。然后通过 126 邮箱登录的例子教大家如何把一个基本的测试项目搭建起来。接下来在项目的基础上扩展自动化测试用例。综合运行前面所...原创 2019-08-09 10:11:35 · 143 阅读 · 0 评论 -
Selenium自行整理【五十二】
10.2.3、扩展测试用例在上一节确定了测试项目的基本结构,在此基础上来开发新的测试用例,这小节我们就来创建一组验证登录的测试用例。 上图这种提示信息,因为要验证登录失败的情况,所以要获取错误的提示信息。 首先打开 LoginPage.java 文件,在 page 层添加获取错误提示信息的元素定位 添加下图错误提示的封装。查看捕捉错误...原创 2019-08-09 10:01:05 · 221 阅读 · 0 评论 -
Selenium自行整理【二十八】
Selenium自行整理【十七】 到 Selenium自行整理【二十七】 总结 4.22、第 04 章小结...原创 2019-08-06 10:04:19 · 194 阅读 · 0 评论 -
Selenium自行整理【二十七】
4.18、窗口截图 自动化用例是由程序去执行,因此有时候打印的错误信息并不十分明确。如果在脚本执行出错的时候能对当前窗口截图保存,那么通过图片就可以非常直观地看出出错的原因。WebDriver 提供了截图函数getScreenshotAs()来截取当前窗口。 在本例中用到了 Java 的异常处理,打开百度首页,执行 getScreenshotAs()对当前窗口进...原创 2019-08-06 10:02:17 · 366 阅读 · 0 评论 -
Selenium自行整理【二十六】
4.16、调用 JavaScript4.16.1、操作浏览器滚动条 虽然 WebDriver 提供了操作浏览器的前进、后退方法,但对于浏览器滚动条并没有提供相应的操作方法。在这种情况下,就可以借助 JavaScript 来控制浏览器的滚动条。 一般我们想到的必须使用滚动条的场景是:注册时的法律条文的阅读。判断用户是否阅读完的标准是:滚动条是否拉到页面底部。当然...原创 2019-08-06 09:59:19 · 153 阅读 · 0 评论 -
Selenium自行整理【十二】
3.1.3、单、双引号在 Java 当中,区分单引号('')与双引号(""),单引号表示一个字符、双引表示一个字符串。下面新建一个关于单、双引号的PrintTest字符与字符串的类型声明也不一样,字符用 char 类型声明;而字符串用 String 类型声明。3.2、分支与循环结构化程序实质上是由有限个顺序、分支和循环三种基本结构排列、 嵌套而成。下面来学习 Java...原创 2019-08-05 10:49:55 · 150 阅读 · 0 评论 -
Selenium自行整理【十一】
第 03 章Java编程基础 虽然本次整理是以Selenium测试技术为主线,但本文中所涉及到的所有代码都是由 Java 语言去实现的,所以,我们需要花点时间来学习和使用 Java 语言,需要说明的是,如果你具备了一定编程的基础,我不会花费时间来告诉你什么是常量、变量,什么是运算符等基础的概念;你可以找一本 Java 基础教程或一套 Java 视频教程来学习这些知识。当然,Jav...原创 2019-08-05 10:44:04 · 83 阅读 · 0 评论 -
Selenium自行整理【十】
2.3、安装浏览器驱动 WebDriver 支持 Firefox (FirefoxDriver)、IE (InternetExplorerDriver)、Opera (OperaDriver) 和 Chrome(ChromeDriver)。对 Safari 的支持由于技术限制在本版本中未包含,但是可以使用 SeleneseCommandExecutor模拟。它还支持 Android (...原创 2019-08-04 13:43:28 · 204 阅读 · 0 评论 -
Selenium自行整理【九】
2.2、编写第一个自动化脚本下面创建一个 baidu.java 类,方法与创建 Hello.java 相同,这里就不再重复介绍了。在敲写这段代码的时候,你心里一定充满了疑问,这段代码到底做了什么事情,下面就来逐行的解释一下代码的含义。-------------------------------------------------------------------------...原创 2019-08-04 13:41:39 · 188 阅读 · 0 评论 -
Selenium自行整理【八】
第 02 章测试环境搭建 2.1、Window下环境搭建—安装selenium Selenium 这里就不再过多介绍,但其实我们有最终目的是要用 Java 去编写 Selenium 自动化测试脚本。所以我们需要安装 Java 版的 Selenium 包。下载地址:http://docs.sele...原创 2019-08-04 13:38:19 · 154 阅读 · 0 评论 -
Selenium自行整理【七】
1.7、前端工具介绍 FireBugFireBug 是 FireFox 浏览器下的一套开发类插件,相信很多读者对这款前端工具并不陌生。它集 HTML 查看和编辑、Javascript 控制台、网络状况监视器、Cookie 查看于一体,是开发 JavaScript、CSS、HTML 和 Ajax 的得力助手,如图 1-5组图 所示 我们可以通过它方便地查看页面上...原创 2019-08-04 13:32:53 · 271 阅读 · 0 评论 -
Selenium自行整理【六】
1.6、前端技术介绍 由于 Selenium 是基于 Web 的自动化测试技术,而我们要操作的对象是 Web 页面,所以有必要对前端 Web的技术与工具作一个简单介绍。HTML 简介HTML(Hyper Text Markup Language)中文为超文本标记语言,是网页的基础。它并不是一种编程语言,而是一种标记语言(一套标记标签),但我们可以在 HTML 标签中嵌入各...原创 2019-08-04 13:27:57 · 126 阅读 · 0 评论 -
Selenium自行整理【五】
1.4、自动化测试及工具简述 自动化测试的概念有广义与狭义之分:广义上来讲,所有借助工具来辅助进行软件测试的方式都可以称为自动化测试;狭义上来讲,主要指基于 UI 层的功能自动化测试。注意:如果没有特别说明,则本文所说的“自动化测试”均指“基于 UI 的功能自动化测试”。目前市面上的自动化测试工具非常多,下面几款是比较常见的自动化测试工具。 1)UFT:(全称 Un...原创 2019-08-04 13:17:00 · 247 阅读 · 0 评论 -
Selenium自行整理【四】
1.3、什么样的项目适合自动化测试 1)任务测试明确,不会频繁变动。 2)每日构建后的测试验证。 3)比较频繁的回归测试。 4)软件系统界面稳定,变动少。 5)需要在多平台上运行的相同测试案例、组合遍历型的测试,大量的重复任务。 6)软件维护周...原创 2019-08-04 13:14:01 · 277 阅读 · 0 评论 -
Selenium自行整理【三】
1.2、分层的自动化测试 测试金字塔的概念由敏捷大师 Mike Cohn 在他的《 Succeeding with Agile 》一书中首次提出,如图1-2所示。他的基本观点是:我们应该有更多的低级别的单元测试,而不仅仅是通过用户界面运行的高层的端到端的测试 Mart...原创 2019-08-04 13:06:30 · 166 阅读 · 0 评论 -
Selenium自行整理【二】
下面详细介绍一下Selenium WebDriver 自动化测试的主要特点第 01章自动化测试基础1.1、软件测试分类 软件测试领域名词颇多,许多测试新手容易混淆概念。因为从不同的角度对软件测试有不同的分类方法,所以,这里汇总常见软件测试的相关名词,让读者对软件测试领域...原创 2019-08-04 13:00:17 · 155 阅读 · 0 评论 -
Selenium自行整理【十三】
3.2.2、for语句 循环从 1 到 10,并且打印这 10 个数【输出结果】:有时候我们希望每次循环的步长不为 1,那么可以修改 i 的步长。【输出结果】: 下面再玩个复杂一些的循环嵌套,来打印一个由星号“*”组成的三角形。【输出结果】:还有更复杂的循环嵌套,来打印九九乘法表【输出结果】:...原创 2019-08-05 10:54:07 · 108 阅读 · 0 评论