自动化测试框架探索

来源:互联网 发布:乐乎公寓官网投诉电话 编辑:程序博客网 时间:2024/06/12 01:45
现有的测试框架:java+selenium+testng,基于UI实现回归测试自动化
selenium:进行页面元素交互
testng:组织用例
xml文件,properties文件:存储数据配置。系统的配置文件放在properties文件中,测试脚本中数据放在xml文件中。
数据读取
  • 解析xml文件:JAXP(java api for xml parsing)
JAXP接口包括三个包:
1.org.w3c.dom
2.org.xml.sax
3.javax.xml.parsers
具体实现:
1.获取解析器工厂 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
2.获取具体解析器 DocumentBuilder db = dbf.newDocumentBuilder();
3.获取xml对象 Document document = db.parse("a.xml");
4.解析xml 
Element root = doc.getDocumentElement();
NodeList books = root.getChildNodes();
Node book = books.items[0];
String name  = book.getNodeValue();
for(Node node)
  • 读写properties文件,使用Properties(extends Hashtable)类,存储键值对。使用Properties读写文件:
1.读文件load(InputStream)
2.写文件save(OutputStream)
Properties prop = new Properties();
FileInputStream fis = new FileInputStream('b.properties');
prop.load(fis);
String value = prop.getProperty(key);
框架组织
  • com.xxx.test.extension:数据收集,结果转换成报告
  • com.xxx.test.tools:测试脚本中使用的工具类
  • com.xxx.test.ui:在页面层对webdriver的API进行二次封装
  • com.xxx.test.data:读取xml中的数据,用例中会使用到的数据的配置(枚举类型)
  • com.xxx.test.config:读取配置信息

脚本运行

  • 单个执行
  • 配置testng.xml
  • 本地配置xml,编写脚本,批量运行

代码管理

  • maven


主要问题

  • 脚本中大部分数据采用硬编码的方式,不灵活
  • 对于业务流程未封装,代码的重复太多,维护代价大

优化方案

  • 将测试数据放在单独的文件中,脚本只存放控制信息
  • 封装业务逻辑层

0 0