文档章节

phoenixframework自动化测试平台1.5.0全新发布

孟飞阳
 孟飞阳
发布于 2016/07/17 09:28
字数 1406
阅读 397
收藏 8
点赞 0
评论 2

一、前言

之前一直想对phoenix_webdriver,phoenix_mobile的代码进行重构,不少朋友反馈平台的API不够直观,尤其是webUI和mobile app相关的API有些乱。我自己也有这种感觉,尤其在后续的功能扩展上也比较麻烦,随着用户量的增加,这几个模块的代码重构越来越迫在眉睫,否则以后会有更多的问题。但苦于一直没有足够时间。趁这最近换工作间歇的几天时间,狠下心来把这几个模块的代码好好重构了一下。

本次重构只是对重要模块代码结构的重构,前面所有版本的功能,在新版本中都会完整保留。此外对页面的js方法,页面功能,页面UI,CSS等都有重构,特别是UI,能给您一种焕然一新的感觉。

二、重构效果体验

重构之后的效果如下:

在develop工程下,用户逻辑自定义区域使用px或phoenix均能调出平台支持的所有API接口,接着可直接调用该接口下的所有方法。重构后接口调用也更直观和方便,尤其是在我后续如有扩展新功能,就更方便了,代码逻辑也更清晰。

如选择webAPI方法:

从以下代码可以看出,与之前版本相比,功能已经做了完全分离。

三、各API功能说明

1、webAPI

webAPI用于对webUI做自动化测试。能对页面的元素模拟人手点击的操作,该API里面的方法同样都适用于mobile browser。

调用方法:

        phoenix.webAPI().....

示例代码:

        http://my.oschina.net/u/2391658/blog/607791

2、AndroidAPI

此API用于对Androidapp的元素模拟点击,滑动等操作。支持虚拟机和实体机。

调用方法:
        phoenix.androidAPI()....

示例代码:

        http://my.oschina.net/u/2391658/blog/713170

3、checkPointAPI

检查点方法,这里面所有的方法在其他API中都可使用。如phoenix.checkPoint().checkIsFalse(条件);可在webUI,Android,socketAPI等等中使用。检查结果会自动统计,并可以在统计图表中查看。

调用方法:
        phoenix.checkPoint()......

示例代码:

String r = phoenix.webAPI().webElement("//*[@id=\"su\"]", LocatorType.XPATH).getAttribute("value");//数据库中的数据可以与页面不变的数据混合使用
			phoenix.checkPoint().checkIsEqual(r, "百度一下");//调用检查点,检查结果会在日志中统计

4、commonAPI

此API中的方法为其他各个模块公用。如数据加载,定位信息加载,等待。之前版本定位信息数据是自动加载的,后来感觉没有必要,就改成通过此方法手动加载了

调用方法:
        phoenix.commonAPI().....

示例代码:

		HashMap<InterfaceBatchDataBean, HashMap<String, String>> datas = phoenix.commonAPI().loadWebCaseDatas(caseName);//加载数据库测试数据方法		
		HashMap<String,LocatorBean> locators = phoenix.commonAPI().addLocator(caseName);//加载定位信息的方法

5、ftpClientAPI

用于操作FTP服务器,可从FTP服务器上下载,并且可以向FTP服务器上传文件。

调用方法:
        phoenix.ftpClient().....

代码示例:

		px.ftpClient().ftpClientConfig(String serverIp, int serverport,
				String loginName, String password, String ftpServerFolder);
		px.ftpClient().ftpUploadFile("test.txt");
		px.ftpClient().ftpDisconnect();

6、imagerReader

用于识别图片上的文字,这是基于OCR开发的,一般情况下图片上的正常文字识别率很高,但部分验证码识别率很低。

调用方法:
        phoenix.imageReader().....

代码示例:

        http://my.oschina.net/u/2391658/blog/713173

7、interfaceAPI

用于接口测试,包含了很多源码抓取方法,支持https,cookie,动态代理,页面源码格式化dom,随机数工具,正则判断工具,xml/json数据等很多好用的解析方法。

调用方法:
        phoenix.interfaceAPI().....

代码示例:

       http://my.oschina.net/u/2391658/blog/491754

8、iosAPI

用于对ios应用操作。该接口暂无实现方法,下个版本会增加。

调用方法:
        phoenix.iosAPI().....

代码示例:使用方法同Android app

9、svnClient

用于对svn服务器操作,通过此api,能自动获取到指定目录下代码提交者,提交版本,功能描述,以及代码提交的路径。实为自动化持续集成的有力工具。

调用方法:
        phoenix.svnClient()....

代码示例:

        http://my.oschina.net/u/2391658/blog/713174

10、telnetClient

telnetClient用于操作远程的socket服务器,可向远程服务器发送telnet指令,socket指令,并且可以接收远程服务器的响应内容。

调用方法:
        phoenix.telnetClient().....

代码示例:

        http://my.oschina.net/u/2391658/blog/713175

四、1.5.0升级详细内容

phoenix_web:各table增加了根据id排序功能
phoenix_web:增加部分样式,如字体调整,增删改的链接样式
phoenix_node:修复性能测试时必须开启监控页面才能收集被监控机数据的bug
phoenix_web:代码编辑页面引入新的代码编辑器
phoenix_web:页面js代码重构
phoenix_webdriver:代码重构,更易扩展
phoenix_webdriver:支持自定义插入步骤日志
phoenix_mobiledriver:代码重构
phoenix_db:增加了多个实用方法,如可以直接queryObject
phoenix_web:任务/性能测试列表增加自动更新任务状态功能
phoenix_web:shiro与spring做了集成
phoenix_web:为shiro增加了缓存支持
phoenix_webdriver:数据及定位信息数据由自动加载改为手动加载
phoenix_webdriver:各个模块的备注信息完善

五、源码资源下载

可访问平台网站:http://www.cewan.la 来获取源码下载地址,及打包好的war包下载。由于网盘地址会更换,有新的地址发布时我会在网站上更新。

环境搭建及使用方法:

http://my.oschina.net/u/2391658/blog/706055

邮箱:5156meng.feiyang@163.com

作者QQ:296595606

平台QQ群:246776066

微信公众号:phoenixframework

 

作者微信号:phoenixframe_2013

© 著作权归作者所有

共有 人打赏支持
孟飞阳
粉丝 202
博文 895
码字总数 531335
作品 5
朝阳
个人站长
加载中

评论(2)

孟飞阳
孟飞阳

引用来自“小九酒”的评论

good
谢谢支持
小九酒
小九酒
good
孟飞阳/phoenixframework

phoenixframework phoenixframework是一个自动化测试平台,集代码托管, 分机(node节点)管理,定时任务, 分布式或并发等方式执行通过phoenixdevelop模块调试好的用例。 平台使用SSH4开发,...

孟飞阳 ⋅ 2016/01/18 ⋅ 0

phoenixframework 1.4.7 发布

自动化测试平台phoenixframework 1.4.7版本发布咯,git.oschina和maven都已经同步更新。 版本修复问题: 1、修复多个反人类的唯一性约束 2、phoenix_node:jmeter性能测试增加对body参数的支持...

孟飞阳 ⋅ 2016/03/20 ⋅ 0

phoenixframework自动化测试平台1.4.6版本发布

phoenixframework 1.4.6现在可以支持对webUI/接口/web性能/mobile app或mobile browser进行自动化测试和监控了。辅助模块还支持:ftp/svn/socket服务器的操作,imgreader可以自动识别图片上的...

孟飞阳 ⋅ 2016/01/16 ⋅ 0

phoenixframe 自动化平台 1.5.0 全新发布

一、前言 之前一直想对phoenixwebdriver,phoenixmobile的代码进行重构,不少朋友反馈平台的API不够直观,尤其是webUI和mobile app相关的API有些乱。我自己也有这种感觉,尤其在后续的功能扩...

孟飞阳 ⋅ 2016/07/17 ⋅ 11

java抓取Https协议url地址的源码的方法

阅读本文之前,请先阅读下文,通过下文将获取到keystore文件: http://www.oschina.net/code/snippet27357618919 在此,感谢一下stevenliu ,不过经过我的测试,发现stevenliu 文章中的源码并...

孟飞阳 ⋅ 2016/03/17 ⋅ 0

Phoenix Framework 1.4.7,自动化测试平台

自动化测试平台phoenixframework 1.4.7版本发布咯,git.oschina和maven都已经同步更新。 版本修复问题: 1、修复多个反人类的唯一性约束 2、phoenixnode:jmeter性能测试增加对body参数的支持...

孟飞阳 ⋅ 2016/03/20 ⋅ 11

phoenixframework自动化测试平台模块介绍

phoenixframework 自动化测试平台,包含WEB、Mobile、接口、安全测试模块。通过对测试代码的动态编译,执行,进行测试。 网站:http://www.cewan.la 系统名称:自动化测试平台 系统介绍: 【...

孟飞阳 ⋅ 2015/06/13 ⋅ 0

phoenixframework自动化测试平台环境搭建及使用

一、平台官网 http://www.cewan.la 开发者及联系方式: 邮箱:5156meng.feiyang@163.com 作者QQ:296595606 平台QQ群:246776066 微信公众号:phoenixframework 作者微信号:phoenixframe_20...

孟飞阳 ⋅ 2016/07/05 ⋅ 0

phoenixframework自动化测试平台对Safari浏览器的支持

phoenixframework自动化测试平台能很好的支持Safari浏览器,不过需要以下几步对浏览器的配置: 测试环境 1、Safari扩展下载 下载Safari扩展,由于版本更新较快,这里给出两个下载地址: (1...

孟飞阳 ⋅ 2016/07/23 ⋅ 0

自动化测试平台--Phoenix Framework

phoenixframework是一个支持对webUI,接口,web性能,mobile app或mobile browser进行自动化测试和监控的平台。 平台官网:http://www.cewan.la 环境搭建及使用说明书:http://my.oschina.n...

孟飞阳 ⋅ 2016/01/18 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 51分钟前 ⋅ 0

VS2015配置并运行汇编(一步一步照图做)【vs2017的链接在最后】

前言 我是上学期学的汇编,因为有vs又不想用课上教的麻烦的dosbox以及masm32,但是一直没找到高亮插件和能调试的(难在运行不了而找不到答案上,出现的错误在最后放出,还请先达们不吝指点)...

simpower ⋅ 今天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 今天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 今天 ⋅ 0

你真的明白RPC 吗?一起来探究 RPC 的实质

你真的明白RPC 吗?一起来探究 RPC 的实质 不论你是科班出身还是半路转行,这么优秀的你一定上过小学语文,那么对扩句和缩句你一定不陌生。缩句就是去除各种修饰提炼出一句话的核心,而不失基...

AI9o後 ⋅ 今天 ⋅ 0

z-index设置失效?

今天碰到了一个问题,就是在给li设置提示框的时候,有用到遮罩效果,本来想把对应的出现在最顶层,可是不管将li设置的z-index值设为多大,li都没有出现在遮罩层之上。 我在网上查了z-index设...

IrisHunag ⋅ 今天 ⋅ 0

CyclicBarrier、CountDownLatch以及Semaphore使用及其原理分析

CyclicBarrier、CountDownLatch以及Semaphore是Java并发包中几个常用的并发组件,这几个组件特点是功能相识很容易混淆。首先我们分别介绍这几个组件的功能然后再通过实例分析和源码分析其中设...

申文波 ⋅ 今天 ⋅ 0

Java对象的序列化与反序列化

Java对象的序列化与反序列化

Cobbage ⋅ 今天 ⋅ 0

Sqoop

1.Sqoop: 《=》 SQL to Hadoop 背景 1)场景:数据在RDBMS中,我们如何使用Hive或者Hadoop来进行数据分析呢? 1) RDBMS ==> Hadoop(广义) 2) Hadoop ==> RDBMS 2)原来可以通过MapReduce I...

GordonNemo ⋅ 今天 ⋅ 0

全量构建和增量构建的区别

1.全量构建每次更新时都需要更新整个数据集,增量构建只对需要更新的时间范围进行更新,所以计算量会较小。 2.全量构建查询时不需要合并不同Segment,增量构建查询时需要合并不同Segment的结...

无精疯 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部