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

1、前言

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

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

2、重构效果体验

重构以后的效果以下:android

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

如选择webAPI方法:git

从如下代码能够看出,与以前版本相比,功能已经作了彻底分离。github

3、各API功能说明

一、webAPI

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

调用方法:spring

        phoenix.webAPI().....数据库

示例代码:json

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

二、AndroidAPI

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

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

示例代码:

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

三、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, "百度一下");//调用检查点,检查结果会在日志中统计

四、commonAPI

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

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

示例代码:

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

五、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();

六、imagerReader

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

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

代码示例:

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

七、interfaceAPI

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

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

代码示例:

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

八、iosAPI

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

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

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

九、svnClient

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

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

代码示例:

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

十、telnetClient

telnetClient用于操做远程的socket服务器,可向远程服务器发送telnet指令,socket指令,而且能够接收远程服务器的响应内容。

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

代码示例:

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

4、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:各个模块的备注信息完善

5、源码资源下载

可访问平台网站:https://feiyang123.github.io/ 来获取源码下载地址,及打包好的war包下载。因为网盘地址会更换,有新的地址发布时我会在网站上更新。

环境搭建及使用方法:

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

邮箱:5156meng.feiyang@163.com

做者QQ:296595606

平台QQ群:246776066

微信公众号:phoenixframework

 

做者微信号:phoenixframe_2013

相关文章
相关标签/搜索