PhoenixFramework自动化测试平台部署初始化说明
孟飞阳 2015.6.30
平台官网:http://www.cewan.la,
模块说明
1、 phoenix_web.war:平台的控制端,管理平台的数据和各个node节点
2、 phoenix_node.war:平台的节点,用于执行测试用例
3、 phoenix_develop:j2se工程,用于调试脚本
4、 phoenix_gui.sql:平台mysql数据库结构初始化。数据库名:phoenix_gui
5、 dataInit.sql:初始化一些数据,如初始的用户名
一、部署
部署前,请先安装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、管理员账户,可在系统管理—用户管理下增删改用户信息。普通账户只能修改个人信息。
二、创建用例数据
目前的1.2.7版本仅支持web_gui自动化测试与监控
1、 在场景管理下新增测试场景,一个场景将包含多个测试用例。平台的最小执行单位是用例
2、 在用例管理菜单下可配置测试用例的各种信息。创建完成后可对用例添加测试脚本、定位信息、用例数据等。点击编辑脚本时才能为用例添加测试脚本。测试脚本即为phoenix_develop调试完成后的用例内容,直接全部复制此内容粘贴到编辑脚本界面的文本框中保存即可。如有上传测试需求,可将附件先上传到控制端,然后会有该附件的url地址,直接填写该地址即可。Node节点执行时会通过该地址获取到附件。
3、 编写调试脚本时,如果使用了定位信息和数据分离,则应先添加该用例的定位信息和数据信息。定位信息和数据如果是直接写在代码中,则省略此步骤。
4、 在其他节点下可看到对应信息。如在日志管理下可看到执行的结果日志,在消息池管理下可看到有哪些Email消息在等待发送或发送失败。
5、 在用例统计图下可看到该用例下STEP通过失败数,Checkpoint通过失败数的统计图
三、平台用例开发
1、通过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(); } }
2、只有调试通过的用例代码才能放到phoenix_web控制端上管理并执行。在控制端上通过:用例管理-->用例列表-->选择一条用例记录-->编辑用例,来为用例添加执行代码,添加完成后即完成了用例代码的托管,还可以为该用例添加一些列的规则,如指派分机,Email通知规则,定时任务规则等。执行时,控制端通过指派node节点进行执行。
3、node节点通过动态编译,反射等方式执行测试用例。
4、通过phoenix_web控制端界面,可以监控node的执行进展,node节点的健康状况。用例执行结果日志,统计图,消息池等等结果。