案例网址:http://xinyue.qq.com/act/pc/xyjf/a20170907envelopes/index.htm?ADTAG=AD_gw.home.pt.2_dyghb.20170926&atm_cl=ad&atm_pos=13256&e_code=358951 案例介绍,一个腾讯的整点抢红包自动化.每天循环自动抢早10点整和晚上八点整的红包,此案例只有一个按钮较简单,适合入门. 遇到的问题: 1无法定位“抢”百度搜“selenium如何进入frame” 2.程…
 什么是WebServices? 它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何…
背景应该是在去年的时候,刷知乎看到一个问题,大概是说怎么刷网易云音乐个人累计听歌数,然后有一个高赞回答,贴了一段js代码,直接在浏览器console执行就可以了.当时试了下,直接一下子刷了有好几万.悲剧的是,第二天又回到原来的样子了,很明显这种方式被网易云音乐发现封掉了.而且后续网易云还针对累计听歌数加了一些限制,每天最多增加300首.今天带来一种通过java+selenium的方式,自动播放歌曲,来达到刷累计听歌数的效果.另外借助这个demo,对selenium的使用更加熟悉,也算是爬虫应用中…
selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以打开,如:http://ask.testfan.cn/articles?page=15,就可以翻到文章分类的第15页: import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.u…
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基于Maven,  因此宏哥为了照顾到企业或者公司用的java项目中用到maven的童鞋或者小伙伴们,这里也简单的介绍和分享一下.在Maven项目中使用Selenium. 非常简单. 2.在eclipse中搭建maven 2.1安装maven 1.下载maven的bin,在apache官方网站可以下载…
1.简介 前面几篇宏哥介绍了两种(java和maven)环境搭建和三大浏览器的启动方法,这篇文章宏哥将要介绍第一个自动化测试脚本.前边环境都搭建成功了,浏览器也驱动成功了,那么我们不着急学习其他内容,首先宏哥搭建好的环境中创建首个完整的自动化测试脚本,让小伙伴或者童鞋们提前感受感受,也是为了激起大家的学习兴趣. 宏哥的个人经验是:自动化脚本编写比较容易,最大的困难去如何去写测试断言.自动化测试,最重要的还是落在测试上面,而不是自动化,自动化只是手段.断言的写法,就考验出一个测试工程师是否考虑全面…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素.XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定…
1.简介 CSS定位方式和xpath定位方式基本相同,只是CSS定位表达式有其自己的格式.CSS定位方式拥有比xpath定位速度快,且比CSS稳定的特性.下面详细介绍CSS定位方式的使用方法.xpath定位是"屠龙刀",那CSS定位就是"倚天剑了",相对CSS来说,具有语法简单,定位速度快等优点. 2.CSS定位优势 CSS定位是平常使用过程中非常重要的一种方式.它与xpath定位有诸多类似的地方,但是无论从性能还是语法上来说CSS都是比较有优势的.1.一般情况下定…
1.简介 按计划今天宏哥继续讲解倚天剑-css的定位元素的方法:ID属性值定位.其他属性值定位和使用属性值的一部分定位(这个类似xpath的模糊定位). 2.常用定位方法(8种) (1)id(2)name(3)class name(4)tag name(5)link text(6)partial link text(7)xpath(8)css selector(今天讲解) 3.自动测试实战 以百度首页为例,将CSS的各种定位方法一一讲解和分享一下. 3.1大致步骤 1.访问度娘首页. 2.通过C…
1.简介 按计划今天宏哥继续讲解css的定位元素的方法.但是今天最后一种宏哥介绍给大家,了解就可以了,因为实际中很少用. 2.常用定位方法(8种) (1)id(2)name(3)class name(4)tag name(5)link text(6)partial link text(7)xpath(8)css selector(今天讲解) 3.自动测试实战 以百度首页为例,将CSS的各种定位方法一一讲解和分享一下. 3.1大致步骤 1.访问度娘首页. 2.通过CSS定位到元素,点击一下. 3.…
1.简介 有些测试场景或者事件,Selenium根本就没有直接提供方法去操作,而且也不可能把各种测试场景都全面覆盖提供方法去操作.比如:就像鼠标悬停,一般测试场景鼠标悬停分两种常见,一种是鼠标悬停在某一个元素上方,然后会出现下拉子菜单,第二种就是在搜索输入过程,选择自动补全的字段.关于鼠标悬停,selenium把这个方法放在了Actions.java文件中,先来看看鼠标悬停出现下拉菜单的情况. 2.鼠标悬停出现下拉菜单 鼠标悬停出现下拉菜单,顾名思义就是:鼠标悬停在某一元素上出现下拉菜单. 2.…
1.简介   这一篇宏哥主要介绍webdriver在IE.Chrome和Firefox三个浏览器上处理不信任证书的情况,我们知道,有些网站打开是弹窗,SSL证书不可信任,但是你可以点击高级选项,继续打开不安全的链接.举例来说,想必大家都应该用过前几年的12306网站购票,点击新版购票,是不是会出现如下的界面.宏哥又找了一个https的页面,如下图所示: 2.三种浏览器如何处理不受信任的证书 三种浏览器访问网页,弹出证书不信任,需要点击下信任继续访问才行,多为访问https的网页.那么我们在做自动…
1.简介 在使用appium写app自动化的时候介绍toast的相关元素的定位,在Web UI测试过程中,也经常遇到一些toast,那么这个toast我们这边如何进行测试呢?今天宏哥就分两篇介绍一下. 2.什么是toast? Android中的Toast是一种简易的消息提示框.当视图显示给用户,在应用程序中显示为浮动.和Dialog不一样的是,它永远不会获得焦点,无法被点击.用户将可能是在中间键入别的东西.Toast类的思想就是尽可能不引人注意,同时还向用户显示信息,希望他们看到.而且Toast…
1.简介 今天本来是要介绍远程测试的相关内容的,但是宏哥在操作服务器的时候干了件糊涂的事,事情经过是这样的:本来申请好的Windows服务器用来做演示的,可是服务器可能是局域网的,连百度都不能访问,宏哥想调试一下网络,禁用网卡,然后重启网卡,结果禁用后就连不上了....就只能等服务器分配的管理员在物理机操作了,他给我分配的估计是虚拟机的服务器.唉,不能演示了,那么宏哥就来介绍java+ selenium自动化测试截图操作的实现,大致分为三篇,每篇介绍一种截图方法,你喜欢那种就用那种.那么宏哥今天…
1.简介 按照计划宏哥今天将介绍java+ selenium自动化测试截图操作实现的第三种截图方法,也就是截图的第三剑客 - 截取某个元素(或者目标区域)的图片.在测试的过程中,有时候不需要截取整个屏幕,只需要截取某个元素(或者目标区域)的图片,今天宏哥就来讲解和分享这些内容. 2. 截取某个元素(或者目标区域)的图片 特点:可截取指定元素及目标区域大小截图. 3.测试场景 具体步骤就是: (1)访问百度首页 (2)点击"设置"中的"搜索设置" (3)调用截图类截图…
1.简介 今天按照原计划宏哥要用实例来给小伙伴或童鞋们来演示一下,如何利用cookie实现跳过验证码进行登录.这个场景是自动登陆.有很多系统的登陆信息都是保存在cookie里的,因此只要往cookie中添加正确的值就可以实现自动登陆了.什么图片验证码.登陆的用例就都是浮云了.而且登录往往就自动化测试的第一步,系统都登录不进去,后边无论是多么高大上都是白扯.因此宏哥拿出一篇文章的篇幅对其进行介绍和分享,希望对你能够有所帮助. 2.Fiddler 2.1IE .谷歌浏览器抓取HTTPS请求 1.IE…
1.简介 今天主要是讲解和分享:TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称的首字母排序来执行测试方法.但是有时,我们可能需要以特定顺序调用测试用例中的方法,或者可能希望在方法之间共享一些数据和状态. TestNG支持这种依赖关系,因为它支持在测试方法之间显式依赖的声明. 2.TestNG允许指定依赖关系 ①在@Test注释中使用属性dependsOnMethods ②在@…
1.简介 经过前边几篇知识点的介绍,今天宏哥就在实际测试中应用一下前边所学的依赖测试.这一篇主要介绍在TestNG中一个类中有多个测试方法的时候,多个测试方法的执行顺序或者依赖关系的问题.如果不用dependsOnMethods,testNG会自动根据@Test方法名称的首字母排序来执行测试方法,而不是按照你设计的测试用例来执行方法.多的不说,少的不唠,我们开始今天讲解和分享. 2.测试场景 在这里宏哥给小伙伴们或者童鞋们模拟一个测试场景:打开百度首页,搜索selenium的相关内容,看到很多s…
1.简介 自动化测试中如何输出日志文件.任何软件,都会涉及到日志输出.所以,在测试人员报bug,特别是崩溃的bug,一般都要提供软件产品的日志文件.开发通过看日志文件,知道这个崩溃产生的原因,至少知道触发崩溃的条件是什么.同样在自动化测试框架设计,日志文件输出是不可或缺的.我们习惯通过日志输出来记录我们用例执行的情况.当然测试报告更直观,但是如果出现问题,往往是日志文件更有效.这里我们介绍如何通过Log4j.jar来帮助我们输出一个日志. 发现 Apache Log4j2 近日被公开的远程代码执…
1.简介 Apache Log4j 是一个非常古老的日志框架,并且是多年来最受欢迎的日志框架. 它引入了现代日志框架仍在使用的基本概念,如分层日志级别和记录器. 2015 年 8 月 5 日,该项目管理委员会宣布 Log4j 1.x 已达到使用寿命. 建议用户使用 Log4j 1 升级到 Apache Log4j 2.因此宏哥觉得有必要介绍一下Log4j 2,今天就单独一篇介绍一下. 2.Log4j2简介 Apache Log4j 2是对 Log4j 的升级,它比其前身 Log4j 1.x 提供…
1.简介 从这一篇开始介绍和分享Java+Selenium+POM的简单自动化测试框架设计.第一个设计点,就是支持跨浏览器测试. 宏哥自己认为的支持跨浏览器测试就是:同一个测试用例,支持用不同浏览器去执行.我们这里只考虑Windows平台的浏览器,而且只关注火狐和谷歌浏览器的自动化测试,我们已经知道IE执行很慢,而且容易出问题,而且现在Windows系统也在逐步取消IE浏览器. 那到底要怎么做,才能支持一个自动化用例能够在不同浏览器上运行?宏哥这里是通过读取配置文件的值,来切换不同浏览器运行测试…
页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 在自动化测试过程中, 测试程序通常的操作页面元素步骤 1. 找到Web的页面元素,并赋予到一个存储对象中 (WebElement) 2. 对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等 3. 验证页面上的元素是否符合预期 通过这三个步骤, 我们可以完成一个页面元素的操作, 找…
前两篇文章介绍了安装,此篇文章算是一个简单的进阶应用吧!它是在Windows下通过Selenium+Python实现自动访问Firefox和Chrome并实现搜索截图的功能.        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        [Python爬虫] 在Windows下安装PIP+Phantomjs+Selenium 自动访问Firefox 可以参照前文安装Selenium环境,目前Selenium这个用于Web应用程序测试…
1. The type R is already defined. (很多时候我们在导入其他人的程序的时候,会遇到这个错误) 通常在project里有两个R.java,一个在src,一个在gen,通常删除src里那个保留gen里的就OK 2.R.java无法修改 R.java是ATD自行产生的,ID号都是唯一的,如果不熟悉,最好是不要动这个里面的东西,这个类里面通常定义的都是project的一些resource信息,attr.drawable.id.raw.layout.string以及xml等…
微信红包 前言:最近笔者在研究iOS逆向工程,顺便拿微信来练手,在非越狱手机上实现了微信自动抢红包的功能.   此教程所需要的工具/文件 yololib class-dump dumpdecrypted iOSOpenDev iTools OpenSSH(Cydia) iFile(Cydia) Cycript(Cydia) Command Line Tools Xcode 苹果开发者证书或企业证书 一台越狱的iPhone 是的,想要实现在非越狱iPhone上达到自动抢红包的目的,工具用的可能是有…
背景 在 Android 开发中,我们都很熟悉 Activity 的 Lifecycle,并且会在特定的 Lifecycle 下执行特定的操作.当然,我们清楚 Lifecycle 本身是带有 Android 特质的,那尝试设想下,如果 普通的 Java Class 也能自动感知 Lifecycle 呢 ?咋一听这个想法似乎背后意义不大,但在实际探索中,我们发现这个特性能为我们达成一些之前未考虑到或者不易实现的优化.java学习群669823128 本文分享下我们基于这个思想所开发的框架: Aut…
前言:本文主要讲述使用hook方式实现红包插件,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的Github地址参考安装(包含越狱和非越狱两种方法)   转眼间2017即将过去,又到了领红包拿到手软的时候.年会上少不了几百上千的红包,真是稍不留神就错过几个亿额... 你是否还是一直死死盯着屏幕,等待着随时来临的红包雨?有没有想过放下手机随便玩耍自动领红包?   本文所讲述的红包插件不同于市面上存在的一些红包助手,原理是检测到红包消息到达后,直接模拟用户点击红包去领取.这种方式相对…
1.主要介绍介绍Java+Selenium+POM的自动化测试框架的搭建,第一个首先实现代码和账号URL等信息的分离.第二点支持跨浏览器,通过读取配置文件的方式实现. 1)将账号URL等信息添加在properties文件中然后读取 2)编写浏览器类通过去取配置文件实现浏览器的切换 3)测试浏览器类 项目结构: 1.新建一个文件夹将properties文件放在文件夹中内容如下: # browser switcher #browserName = FirefoxbrowserName = Chrom…