phoenixframe 自动化平台 1.5.0 全新发布

孟飞阳
 孟飞阳
发布于 2016年07月17日
收藏 56

一、前言

之前一直想对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包下载。由于网盘地址会更换,有新的地址发布时我会在网站上更新。

邮箱:5156meng.feiyang@163.com

作者QQ:296595606

平台QQ群:246776066

微信公众号:phoenixframework

 

作者微信号:phoenixframe_2013

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:phoenixframe 自动化平台 1.5.0 全新发布
加载中

最新评论(11

小九酒
小九酒
觉得很赞
小九酒
小九酒
孟飞阳
孟飞阳

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

keyi
谢谢支持
小九酒
小九酒
keyi
小九酒
小九酒
good
小九酒
小九酒
good
小九酒
小九酒
good
孟飞阳
孟飞阳

引用来自“grath”的评论

这个跟 Elixir Phoenix 框架没有联系吧?好像

引用来自“孟飞阳”的评论

额,唯一的联系就是名字有点像,功能不一样。当初起名时,没想到还有一样的。呵呵。。。

引用来自“grath”的评论

你俩应该来一发 软件取名字也是好累的
汗,是啊
grath
grath

引用来自“grath”的评论

这个跟 Elixir Phoenix 框架没有联系吧?好像

引用来自“孟飞阳”的评论

额,唯一的联系就是名字有点像,功能不一样。当初起名时,没想到还有一样的。呵呵。。。
你俩应该来一发 软件取名字也是好累的
孟飞阳
孟飞阳

引用来自“grath”的评论

这个跟 Elixir Phoenix 框架没有联系吧?好像
额,唯一的联系就是名字有点像,功能不一样。当初起名时,没想到还有一样的。呵呵。。。
返回顶部
顶部