1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 phoenixframe 自动化平台 1.5.0 全新发布 下载

本帖由 漂亮的石头2016-07-17 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,974
    赞:
    47
    一、前言


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

    本次重构除对重要模块代码重构外,对页面的js方法,页面功能,页面UI,CSS等都有重构,特别是UI,能给您一种焕然一新的感觉。

    [​IMG]

    二、重构效果体验


    重构之后的效果如下:

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

    [​IMG]

    如选择webAPI方法:

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

    [​IMG]

    三、各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

    [​IMG]

    作者微信号:phoenixframe_2013

    phoenixframe 自动化平台 1.5.0 全新发布下载地址
     
正在加载...