基于Java+Selenium+Appium集成Web、安卓和IOS自动化测试框架的设计

1、开发环境
开发语言和使用框架:Java、Selenium2、testNG
集成开发环境: Eclipse  http://www.eclipse.org/
移动端自动化工具: Appium http://appium.io/ ;
分布式监控平台: Jenkins

 2、框架原理
主框架分为三层:InitialFramework、UIFramework、Web\Android\IOS
第一层初始化框架目录结构、测试类目录结构、资源文件目录结构
第二层封装基于WebDriver架包的通用方法,比如点击,检查元素等,继承第一层
第三层封装特定项目类型的方法,Web、Android、IOS,继承第二层 

项目级别框架
以项目为单位,封装适用于该项目的业务逻辑方法,以便脚本重复调用 

3、测试类
测试类是基于testNG的测试框架,把测试脚本放在独立的包下面,作为大的测试包,脚本以testNG注解的格式进行开发,测试用例放在测试脚本中,方便从用例的业务逻辑来开发脚本。 

4、资源文件
执行脚本是以DD原理进行,即数据驱动,将测试的元素定位,测试数据单独放再资源文件中,其中元素定位是所有方法最终操作的对象,接受任何形式的文件格式,解析过程在框架第二层中开发。 

5、搭建分布式测试平台
通过testNG的XML功能,将测试类进行分类
以便分布式中调用指定的测试类 ,很多团队使用的是Junit测试框架,分布式中的功能并没有testNG强大,这也是当时研究后选择的。分布式平台选择Jenkins,具体部署后文待续。 

框架优点汇总:
1、集Web、Android、IOS自动化测试于一体的框架,可以让不同的自动化团队同时维护一个框架(第一层和第二层),按各自的项目类型开发方法(第三层),做到了既可以使用同一套框架,又互补影响,从而节约了后期的维护成本。 
2、框架的移植能力强,这里的移植能力是指测试框架可以用到不同的项目中,只需要建立一个自己的项目级别框架,继承相应的第三层,便可以直接开发测试脚本,用关键字AppName来指定项目级别的框架和测试类的目录结构,当然也包括资源文件目录。
3、支持分布式测试。
4、支持脚本按任意要求进行分类。 
缺点:

开发周期长,投入成本高,适用于项目周期长、公司有多个项目。而只有一个项目或者项目周期短的,不推荐。直接拿起selenium2和testNG的架包就可以开展。

除此之外,框架可以把接口测试集成进来,加入HttpClient第三方jar包即可。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于JavaSeleniumWeb UI自动化测试框架是一种自动化测试工具,可以用于测试Web界面的功能和用户交互。以下是该框架的一些关键特性和优势。 1. 支持多浏览器和平台:这个框架可以在各种主流浏览器(如Chrome、Firefox、Safari等)和操作系统(如Windows、Mac、Linux等)上运行,确保网站在不同环境下的兼容性。 2. 灵活的对象识别:通过使用Selenium的定位策略(如ID、CSS选择器、XPath等),该框架可以准确地识别页面上的元素,从而使测试用例的编写更加简单和可靠。 3. 数据驱动测试:该框架支持数据驱动测试,可以从外部源(例如Excel、CSV等)中加载测试数据,并对每个数据组合执行相同的测试用例,从而提高测试效率和可重复性。 4. 测试报告和日志:这个框架提供了详细的测试报告和日志记录功能。测试报告会提供关键的测试执行结果,如成功率、失败率和跳过率,并展示每个用例的执行状态。日志记录则可以帮助开发人员在调试期间查找问题和进行错误分析。 5. 高可扩展性:该框架可以根据项目需要进行定制和扩展。开发人员可以编写自定义函数和库,以便进行特定的测试操作和验证。 总之,基于JavaSeleniumWeb UI自动化测试框架提供了一种可靠、高效和可扩展的方式来测试Web界面。它可以帮助团队快速检测和修复潜在的缺陷,提高软件质量和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值