自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Anthony_tester的博客

公众号:AnthonyTestDevHouse,探索从QA角色到开发角色的转换之路(Q群574103281)

  • 博客(75)
  • 收藏
  • 关注

原创 Java+Selenium3方法篇32-处理不安全连接

本篇介绍webdriver处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续打开不安全的链接。举例来说,大家都应该用过12306网站购票,点击新版购票,是不是会出现如下的界面。先来看看chrome上如何处理这个,跳过图中这个步骤,直接到买票页面。package lessons;import org.openqa.selenium.W

2017-06-30 22:51:41 6661 3

原创 Java+Selenium3方法篇31-利用Robot类截图

前面我们介绍了Selenium中TakeScreenshot类来截图,得到的图片是浏览器窗口内的截图。有时候,只截浏览器窗口内的图是不够的,而且TakeScreenshot截图只针对浏览器的web事件,假如你在运行脚本过程,windows上有一个其他软件弹出了一个购物的弹窗页面,这个时候就会干扰你截图。所以,有时候我们需要整个屏幕截图,这个时候我们就需要用到Robot这个类。原理大概是,从电脑屏幕

2017-06-29 22:17:48 4875 1

原创 Java+Selenium3方法篇30-Selenium中截图方法-TakeScreenshot

前面几篇介绍了Actions类中两种方法,本来打算介绍右键,然后类似点击向下箭头这样操作,但是在现在的firefox和chrome都不能正常实现,记得之前selenium2.53是可以在firefox上实现的。本篇介绍Selenium中截图类TakeScreenshout,这个类主要是获取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域,我们用百度首页来截图,看看截图效果。      

2017-06-28 23:33:57 13137 9

原创 Java+Selenium3方法篇29-Actions-划取字段

本文介绍Actions类下第二个功能,划取字段。我之前做过一个项目,需要在一堆log字符中随机划取一段文字,然后右键选择摘取功能。这篇,就介绍划取字段这个功能,直接看下面的脚本。package lessons;import java.util.concurrent.TimeUnit;import org.openqa.selenium.By;import org.openqa.sel

2017-06-28 22:46:47 3170 6

原创 Java+Selenium3方法篇28-Actions-鼠标悬停

有些事件,Selenium没有直接提供方法去操作,像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段。关于鼠标悬停,selenium把这个方法放在了Actions.java文件中,先来看看鼠标悬停出现下拉菜单的情况。package lessons;import java.util.concurren

2017-06-27 23:06:38 13364 6

原创 Java基础教程35-LinkedList和ArrayListed的区别

前面分别介绍了ArrayList和LinkedList,那么这两个有什么区别呢。特别是两者在操作性能这块,经常在面试中被问到。我也从网上拷贝了几条不同点过来:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。3

2017-06-27 22:43:17 2089

原创 Java+Selenium3方法篇27-利用JS处理元素高亮显示

这篇来玩一个好玩的测试,就是利用javascript让测试过程中的元素高亮显示,例如在登录框,让输入框背景颜色设置成黄色,边框设置2个像素,颜色是空色。这个问题,我在一家公司的笔试题上看见过,所以这里就实现了测试下。相关脚本如下。package lessons;import java.util.concurrent.TimeUnit;import org.openqa.selenium

2017-06-26 22:50:15 5547 4

原创 Java+Selenium3方法篇26-处理Alert弹窗

前面几篇文章介绍了switchTo方法,这篇继续介绍switchTo中关于处理alert弹窗的问题。很多时候,我们进入一个网站,就会弹窗一个alert框,有些我们直接关闭,有些可能有取消和确定按钮,还有些调查的alert框,可以运行用户输入文字,例如预定一个网站的资讯,输入邮箱地址就可以,每天接收一封该网站推送的邮件。以下我找到了一个alert例子,只有点击确定这个按钮,alert框才会消失。

2017-06-26 22:32:22 8826 3

原创 Java+Selenium3方法篇25-isDisplayed方法

本篇介绍webdriver自动化测试中,经常需要进行判断的一个场景。例如,有些操作,我们做了之后,会触发一些提醒,有些是正确的提醒,有些是红色字体显示的错误提示。我们自动化里面如何去捕获这些字段,如果进行测试自动化判断呢。这里,用百度登录举例,判断“请输入验证码”这个字段出现在正确的位置上。webdriver中有一个方法isDisplayed()来判断这个元素是否显示,相关脚本如下。p

2017-06-25 22:53:19 11200 9

原创 Java基础教程34-LinkedList

前面一篇文章介绍了ArrayList,这篇介绍LinkedList,LinkedList和ArrayList很相似,也有很多方法是ArrayList不具备的。下面通过一个练习来介绍LinkedList的基本使用。package lesson01;import java.util.ArrayList;import java.util.LinkedList;public class MyCl

2017-06-25 15:27:01 1776 1

原创 Java+Selenium3方法篇24-单选和多选按钮操作

本篇介绍webdriver处理前端单选按钮的操作。单选按钮一般叫raido button,就像我们在电子版的单选答题过程一样,单选只能点击一次,如果点击其他的单选,之前单选被选中状态就会变成未选中。单选按钮的点击,一样是使用click方法。下面我们介绍百度新闻首页中有两个单选按钮,我们根据for选好,依次点击第一个,然后点击第二个,由于第一个是默认选中状态,所以看不到第一个点击的效果。相关脚本

2017-06-24 23:18:48 7393 8

原创 Java+Selenium3方法篇23-iframe切换的问题

这篇介绍webdriver在处理定位元素报错,提示没有这样的元素。这个时候,有可能是你测试的网页,采用了frame技术。什么是frame,简单来说,就是把一个网页划分成多个子页面,脑补这下这样的页面。我把一个空白的html文件,使用了frame技术后,分成两个页面,左边显示百度首页,右边显示谷歌首页。这个就是frame的简单使用。webdriver默认查找的元素都是Top window这层,如

2017-06-24 22:42:05 11897 3

原创 Java+Selenium3方法篇22-利用Javascript处理竖向滚动条

本篇介绍如何使用javascript脚本去处理竖向滚动条,例如有这样一个场景,你访问我的csdn主页,想下拉到当前页的地步,这个下拉,你会拖拽竖向滚动条到底部就实现了。这个过程,如果在webdriver的自动化测试,如何做呢。在webdriver中是没有拖动滚动条的方法的,需要借助javascript来根据一个页面元素去实现拖动滚动条的过程。本篇要学习两个知识点,一个是webdriver中如何执行

2017-06-23 22:34:37 8271 7

原创 Java基础教程33-ArrayList

本篇介绍Java中的ArrayList类,ArrayList是一个可变化的数组。它实现了List的全部功能,主要有插入元素,编辑元素,删除元素,遍历元素。而Array虽然高效;但是其容量固定且无法动态改变。我们直接通过一个例子,来演示ArrayList的基本操作。package lesson01;import java.util.ArrayList;public class MyClass

2017-06-22 23:01:33 2127

原创 Java+Selenium3方法篇21-webdriver处理浏览器多窗口切换

经过前面两篇文章的铺垫,我们这篇介绍,webdriver如何处理,一个浏览器上多个窗口之间切换的问题。我们先脑补这样一个测试场景,你在页面A点击一个连接,会在新的tab窗口打开页面B,这个时候,你在页面B点击一个连接,会在新的tab窗口打开页面C。这种情况,在测试中经常遇到,自动化中,webdriver是如何处理的呢。       我们先来看一个实例,在京东首页,点击手机,会在新的页面显示手机

2017-06-22 22:04:22 23399 10

原创 Java+Selenium3方法篇20-浏览器退出quit和close的区别

本文介绍webdriver中关于浏览器退出操作。driver中有两个方法是关于浏览器关闭,一个叫quit,一个叫close。先来看看看两者的声明描述,请看下面声明文档。 /** * Close the current window, quitting the browser if it's the last window currently open. */ void clo

2017-06-21 16:03:57 15919 1

原创 Java+Selenium3方法篇19-获取浏览器窗体的句柄

先来解释下什么是句柄,有时候浏览器的窗口句柄,也叫windows id,英文单词更好理解。你打开了一个浏览器,你开一个tab,就生成了一个id,这个id直到你关闭这个tab才会消失。如果你在一个浏览器上打开多个tab,那么就有多个windows id,为什么你关闭其中一个tab,但是不影响其他tab的显示,就是这个id的作用。本文就是要介绍如何或者浏览器窗体的句柄或者叫编号,为后面的driver实

2017-06-20 23:14:53 8871 1

原创 Java+Selenium3方法篇18-获取当前页的源码

本篇介绍webdriver中获取当前页面的源码,driver.getPageSource()的功能就类似,你打开一个网页,然后右键,选择查看源码一样效果。这个获取网页的源码,在网络爬虫中百分百是需要用到的。先来了解下,我们通过获取百度新闻首页的源码,打印到eclipse,看看效果。相关脚本代码如下:package lessons;import java.util.concurrent.

2017-06-20 22:59:29 7759 3

原创 Java+Selenium3方法篇17-获取当前页面URL

本篇介绍获取当前页面的url,这个getCurrentUrl()是一个driver的方法,返回的当前driver所停留在的当前页的url。这个在自动化测试过程中是有必要的,例如在实际测试中,只会刚开始给一个测试url,开始测试,之后的其他页面,都是通过点击链接进行跳转的,所以,有时候需要判断新跳转的链接是不是正确的地址,这个时候就需要获取当前地址拿过来进行断言测试。实例:百度首页点击新闻这个链

2017-06-20 22:50:03 17199 1

原创 Java+Selenium3方法篇16-driver方法获取当前页title

本篇介绍driver的一个方法,获取当前页的title。什么是title,你可以打开一个网页,按下F12,然后找到title这个标签,发现这个标签里的字符串就是我们平时在浏览器上看到的这个网页的标题。例如百度首页的title就是“百度一下,你就知道”,在webdriver中有一个driver的方法,driver.getTitle()就是用来得到当前页面的title的字段。在自动化测试过程中,为什么

2017-06-19 22:30:28 9107 1

原创 Java基础教程32-递归

本篇介绍递归,什么是递归呢?递归就是自己调用了自己。很多练习题或者面试题,会考察递归的思想,到时候你要想起用递归的思想去解决问题。构成递归需具备的条件:1. 子问题须与原始问题为同样的事,且更为简单;2. 不能无限制地调用本身,须有个出口,化简为非递归状况处理。为了描述递归,我们这里演示计算阶乘的值。当阶乘中N=1或者N=0的时候,阶乘就等于1,当N>1的时候, N! = N*(N

2017-06-19 22:13:50 1772

原创 Java基础教程31-封装

封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在java中通过关键字private,protected和public实现封装。什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏

2017-06-19 21:47:33 1869

原创 Java+Selenium3方法篇15-元素内清除文本操作

本篇介绍元素操作之清除文本,这个清除动作,我们经常用,例如在某一个网站登录界面,有时候有些设计会自动记录用户名,但是我们自动化测试,需要换一个用户名登录,这个时候,最好就先清除用户名输入框文字,然后重新输入。这个方法,很简单,我们直接用一个示例就可以掌握。package lessons;import java.util.concurrent.TimeUnit;import org.op

2017-06-18 22:54:37 8413 1

原创 Java基础教程30-接口

本篇介绍Java中的接口的基本使用和简单的概念。接口和抽象类有点类似,接口不是类,接口只是声明了方法,没有具体实现。在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。1. 先来了解接口的声明

2017-06-18 22:40:09 2006

原创 Java基础教程29-Abstract类和方法

这篇介绍Java中抽象类和抽象方法,用关键字abstract表示抽象,是一个可以修饰类和方法的关键字。如果类名前面用abstract修饰,这个类就是抽象类。如果方法名称前面有abstract修饰,这个方法就是抽象方法。为什么要有抽象类呢,抽象类主要是用来写接口用的,接口在下一篇介绍。只需要抽象定义一个类,不需要具体实现。然后子类可以继承这个抽象类,子类分别去实现抽象类里面的抽象方法。抽象类里面的方

2017-06-18 22:15:56 2036

原创 Selenium面试问题和答案-1

在学习完Selenium的大部分接口或者方法之后,你可能会去面试自动化测试,主要是Selenium的自动化测试。下面这些问题总结,可能会对你有所帮助。1. 什么是Selenium?Selenium是一个开源的web自动化测试框架,主要是基于web uI的自动化测试。现在的版本,逐步增加了对移动端的自动化测试。Selenium支持多种语言进行开发自动化测试脚本,有Java,python,C#

2017-06-18 15:43:15 18132 1

原创 Java基础教程28-多态

本文介绍Java中三大特性之多态。实际上封装和继承都是为了多态服务的。什么是多态呢?多态指同一个实体同时具有多种形式。或者这样描述,同一个事件发生在不同对象上面,就有不同效果,这样的例子叫多态。下面,我们用多个子类调用同一个方法(子类重写了该方法),会得到不同结果。1.Supper class,Student.javapackage lesson01;public class Stud

2017-06-18 14:56:00 1912

原创 Java+Selenium3方法篇14-元素操作之输入和点击

前面文章介绍完了driver的一些常见的浏览器设置和查找元素的接口,接下来,我们找到了元素,是为了去操作元素。这篇介绍元素操作常见方法中的,给元素写入一个字符串,和点击元素。一般来讲,给元素输入一个字符串,这样的元素,一般是可以输入文本,基本上是inputbox这样的前端元素,还有些是textarea这样的元素。而点击元素,这个范围就大了,第一个肯定是点击按钮,除了按钮,单选,多选按钮,有些lab

2017-06-18 14:39:43 14456 3

原创 测试开发成长学习路线--引导篇

我相信,有很多测试人员会不断问自己,自己到底要不要坚持做测试,测试的职业发展到底怎么样?如果你还在迷茫,在到处找各种大牛问类似的问题,我希望这篇文章,你看完能够结束你的这个烦恼,给你更多的指明方向,当然也有更多的压力。       这个问题,就像大学报考专业一样,很多人问选什么专业比较好,将来毕业就业前景好,薪水起点高。我不会争论这种思想如何不好,回到中国的一句谚语:360行,行行出状元。假如

2017-06-17 18:45:57 42946 39

原创 Java+Selenium3方法篇12-findElement之By TagName

本文介绍findElement接口中八大方法的最后一种,By Tagname,先要了解什么是tagname,我们在使用firepath查看网页元素的时候,全是开始的input 或者button,div,label等等,这些标签就叫tagname。一般利用tagname定位元素会出现很多个元素,单独找一个唯一的元素,利用tagname很难,所以一般和findElements接口配合使用,找到一组元素

2017-06-17 16:36:09 7894 6

原创 Java+Selenium3方法篇11-findElement之By CSS

本文继续介绍findElement接口下查找元素的方法,这篇介绍根据CSS表达式去定位网页元素。你可能听说过,前端基础,静态网页主要使用HTML语言,动态效果,一般使用CSS还有JavaScpirt,现在流行的H5前端开发,也是HTML5+CSS+JavaScript。所以,自动化测试人员,或者测试开发工程师,真的有必要学习下前端的html,css,javascript等。在这个Java+Sele

2017-06-17 11:38:13 4057

原创 Java+Selenium3方法篇10-findElement之By PartialLinkText

这篇介绍findElement系t列方法中的By partialLinkText,看到这个是不是会想起By LinkText,没错。如果你看到一个有文字链接的元素,上面文字太多,你不想写这么多文字,那么你就可以用partialLinkText,也就是用LinkText里面的一部分字符就可以定位该元素。这里建议,你选取的字符要有唯一性,也就是,根据你选取的字符,在当前页,只能找到你的目标元素。这里用

2017-06-17 10:30:55 7089

原创 Java+Selenium3方法篇9-findElement之By Name

本文来介绍Webdriver中元素定位方法之By name,顾名思义,就是我们想要定位的目标元素节点上,有一个name ="value"的属性,这样我们就可以通过name的value直接去找到这个元素。我们还是用百度首页搜索输入和点击提交来演示,由于搜索输入文本框有name属性,而点击提交没有name属性,所以,我们这里只有一个元素定位采用了By name。相关脚本代码如下。package

2017-06-16 22:57:42 3467

原创 Java+Selenium3方法篇8-findElement之By ClassName

本文继续介绍WebDriver关于元素定位系列方法,这篇介绍By ClassName。看到ClassName,LinkText,XPath,ID这些方法,所以说,要做好Web自动化测试,最好是需要了解一些前端的基本知识。有了前端知识,做元素定位会很轻松,同样写网络爬虫也很有帮助,话题扯远了,回到Selenium自动化测试。如何查找元素的ClassName,还是那句话,没有前端知识,就回到我之前写的

2017-06-16 22:49:19 14099 3

原创 Java基础教程27-方法重写

看到标题,是否想起前面有一篇文章叫方法重载。什么是方法重写呢?在Java编程语言中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。方法的重写有几个特点:1)发生在子类,有子类就有继承2)父类方法的参数列表必须完全与被子类重写的方法的参数列表相同3)父类的返回类型必须与被

2017-06-16 22:08:41 1928

原创 Java+Selenium3方法篇7-findElement之By LinkText

本篇继续讲webdriver查找元素方法,这篇介绍By LinkText方法。什么是linktext呢,就是我们在网页上看到有一个链接,上面有一个文字描述,点击这个文字,就可以跳转到其他页面。我们这里以百度首页举例,点击首页右上角那个新闻链接,观察是否进入到百度新闻页面。相关脚本代码如下:package lessons;import org.openqa.selenium.By;i

2017-06-16 12:32:54 14438 4

原创 Java+Selenium3方法篇6-findElement之By XPath

前面一篇,介绍了查找元素的方法By id,这篇来介绍By XPath。在如何写XPath表达式之前,你需要对XPath有一个基本了解,关于XPath入门,你可以点击这里。下面,通过百度首页,演示如何写百度搜索输入框和百度搜索按钮的XPath表达式。package lessons;import java.util.concurrent.TimeUnit;import org.open

2017-06-16 11:16:10 14015 1

原创 Java基础教程26-final关键字

前面一篇介绍了Java中的继承的基本使用和继承的特点,这篇介绍Java中final关键字。什么叫final,字面意思就是最终的意思,也就是不需要修改。在设计类时候,如果这个类不需要有子类,类的实现细节不允许改变,并且确信这个类不会再被扩展,那么就设计为final类。final在Java可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如

2017-06-15 22:42:52 1938

原创 Java+Selenium3方法篇5-findElement之By id

前面文章介绍了一些driver操作浏览器设置的一些接口,其中接口里面的一些方法,我们经常用到。现在开始介绍一些和元素相关的接口或者方法,web自动化测试的核心就是找到网页元素,并相应去操作元素。所以,我们接下来很大的文章篇幅都和元素查找和元素操作有关。要操作元素,先要找到元素,Selenium中findElement接口能支持八种方法去查找网页元素,今天这里,介绍By id的方法。      

2017-06-15 12:59:22 16745 10

原创 Java基础教程25-继承

本文介绍Java中的继承,Java有三大特性:封装,继承和多态。我们先来简单了解下什么是继承?为什么要使用继承?在现实生活中,我们有很多继承的例子,例如儿子某些特征像他父亲,就可以说儿子这些特征是从他父亲上继承过来的。所以,Java中有了父类和子类的说法,父类就是被继承的类,子类就是将要继承父类的类。使用继承,是为了减少代码的重复,增加代码的复用性。下面我们举例来简单介绍继承。我们的父类是多边形类

2017-06-14 23:03:28 2183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除