Phoenix Framework WEB自动化测试工具支持两种创建用例的方式。除主打的通过界面创建用例外,还可以使用Phoenix Framework的外开放接口来手动创建用例。请见实例代码,以下用例功能为在百度输入框中输入“反射执行用例”,然后关闭浏览器:
如果代码片段没有显示,请手动刷新本页。
package phoenix.frame.demo;
import phoenix.frame.caseinterface.InterfaceCaseData;
public class SpringPageTest extends InterfaceCaseData{
private static String caseName = "反射执行用例演示";
public SpringPageTest(String caseName) {
super(caseName);
}
public void run(){
BaiDuTest();
}
public void BaiDuTest(){
GUIElement("打开浏览器").openNewWindow("about:blank");
GUIElement("打开测试地址").gotoWindow("http://www.baidu.com");
GUIElement("输入关键字").setText("反射执行用例");
GUIElement("点击搜索").click();
GUIElement("执行等待").wait(3000);
GUIElement("关闭浏览器").closeWindow();
}
public static void main(String args[]){
SpringPageTest springTest = new SpringPageTest(caseName);
springTest.run();
}
}
在该方式下,可编写各种复杂的逻辑结构。编写的测试计划类继承Phoenix Framework内置的Component类后,就可以直接使用组合模式蹭蹭组装用例了。
语法简介:
如:GUIElement("获取按钮的value值").getText("value");
GUIElement含有一个无参构造方法和有参数构造方法,通过该方法从数据库中获取该元素的定位信息;
getText方法是对页面元素的一些操作。Phoenix Framework内置了38种对页面元素及浏览器操作的方法。
手动创建用例需要注意一些事项:
* 使用手动编码方式编写测试用例,继承 InterfaceCaseData 类,可直接使用该类中的关键方法
* 与使用界面配置相比,该方法使用起来方法更为灵活,且各种复杂的逻辑语句均可以在用例中使用
* 需要注意的是,启动自定义用例的入口方法名称必须为 run() ,这样使用组合模式组合时,该用例才能被启动
* 使用测试用例时,由于需要提供测试用例名称,需要明确该用例使用的所有操作单元都位于该用例下,否则会出现找不到元素
另外,如果使用了手动创建用例的方式,虽然处理逻辑更灵活了,但一些页面独有的功能则无法支持了,如:
》本地执行过程监控功能
》分布式监控功能
》用例及数据导入导出功能
》用例及数据的信息维护,需要到数据库中直接维护
》属性录制功能
实际使用时,由于手动创建的用例与界面程序共用同一数据库,所以两种方式可配合使用。