PhoenixFramework自动化测试平台部署初始化说明node
孟飞阳 2015.6.30mysql
平台官网:http://www.cewan.la,web
模块说明sql
一、 phoenix_web.war:平台的控制端,管理平台的数据和各个node节点数据库
二、 phoenix_node.war:平台的节点,用于执行测试用例apache
三、 phoenix_develop:j2se工程,用于调试脚本tomcat
四、 phoenix_gui.sql:平台mysql数据库结构初始化。数据库名:phoenix_gui服务器
五、 dataInit.sql:初始化一些数据,如初始的用户名app
1、部署框架
部署前,请先安装JDK1.8以上版本。
1、首先建立mysql数据库,数据库名:phoenix_gui,而后运行phoenix_gui.sql,最后运行dataInit.sql,初始化数据。
Node节点数据库默认链接方式修改:
可修改..\apache-tomcat-8.0.9\webapps\phoenix_node\WEB-INF\classes\hibernate.cfg.xml,找到相关用户名和密码进行修改。
Phoenix_web则修改:jdbc.propertes中的用户名和密码。
2、将phoenix_web.war,phoenix_node.war放到tomcat的webapp目录下,启动tomcat。phoenix_web.war,phoenix_node.war部署到同一个tomcat或将phoenix_node.war部署到多个tomcat下要看具体测试需求
3、启动成功后,访问控制端首页:http://localhost:8080/phoenix_web/,端口及host根据部署的状况指定便可。
4、使用admin / admin登陆系统
5、在平台控制端的‘执行机管理’菜单下添加node节点的host与端口,格式:localhost:8080,80端口的话可不用添加端口,直接填写如:localhost便可。
6、可修改..\apache-tomcat-8.0.9\webapps\phoenix_web\WEB-INF\classes\beans.xml配置文件中的Email服务器,及mail.setFrom信息,不然将不能发送任务失败时的邮件,
<property name="cronExpression" value="0/10 * * * * ?" /> 为自动扫描t_msgpool的频率,为10秒一次,可修改为适当规则。其余配置建议不要修改。
7、管理员帐户,可在系统管理—用户管理下增删改用户信息。普通帐户只能修改我的信息。
2、建立用例数据
目前的1.2.7版本仅支持web_gui自动化测试与监控
一、 在场景管理下新增测试场景,一个场景将包含多个测试用例。平台的最小执行单位是用例
二、 在用例管理菜单下可配置测试用例的各类信息。建立完成后可对用例添加测试脚本、定位信息、用例数据等。点击编辑脚本时才能为用例添加测试脚本。测试脚本即为phoenix_develop调试完成后的用例内容,直接所有复制此内容粘贴到编辑脚本界面的文本框中保存便可。若有上传测试需求,可将附件先上传到控制端,而后会有该附件的url地址,直接填写该地址便可。Node节点执行时会经过该地址获取到附件。
三、 编写调试脚本时,若是使用了定位信息和数据分离,则应先添加该用例的定位信息和数据信息。定位信息和数据若是是直接写在代码中,则省略此步骤。
四、 在其余节点下可看到对应信息。如在日志管理下可看到执行的结果日志,在消息池管理下可看到有哪些Email消息在等待发送或发送失败。
五、 在用例统计图下可看到该用例下STEP经过失败数,Checkpoint经过失败数的统计图
3、平台用例开发
一、经过phoenix_develop开发并调试脚本,参考示例:http://www.oschina.net/code/snippet_2391658_48730
用例代码基本框架:
public class TestPhoenixCaseUseLocator extends WebElementActionProxy{ //类名称自定义 private static String caseName = "消息测试用例";//用例的名称或id都能加载到该用例下的定位信息和数据,若是使用到了提早录入到数据库中的定位信息和数据,则须要指定。 //private static int caseName = 5;//用例的id public TestPhoenixCaseUseLocator() { } @Override public LinkedList<UnitLogBean> run(CaseLogBean caseLogBean) { init(caseName,caseLogBean); //此处用于填充你得用例逻辑 return getUnitLog(); } }
二、只有调试经过的用例代码才能放到phoenix_web控制端上管理并执行。在控制端上经过:用例管理-->用例列表-->选择一条用例记录-->编辑用例,来为用例添加执行代码,添加完成后即完成了用例代码的托管,还能够为该用例添加一些列的规则,如指派分机,Email通知规则,定时任务规则等。执行时,控制端经过指派node节点进行执行。
三、node节点经过动态编译,反射等方式执行测试用例。
四、经过phoenix_web控制端界面,能够监控node的执行进展,node节点的健康情况。用例执行结果日志,统计图,消息池等等结果。