看完上篇文章之后,大家可能对手机端的智能化测试有了一个大致的概念;有人也许会问了,Web端是否有类似的智能化测试工具呢?答案是肯定的。在这里,小编准备一步到位;将从基础工具到测试框架图给大家一个整体的展示。
Selenium基础
相信做web端自动化测试的同学对Selenium并不陌生;炒点现饭:Selenium是一种基于Web的自动化工具,提供一套测试函数,用于支持Web自动化测试。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较等操作。PS:还没有概念的同学可以看一下这里:http://blog.csdn.net/wanglian2017/article/details/72843984(后面用WebDriver统一代指Selenium测试框架)现在支持的WebDriver有(了解即可):
AndroidDriver,ChromeDriver,FirefoxDriver,HtmlUnitDriver,EventFiringWebDriver,
InternetExplorerDriver,IPhoneDriver,IPhoneSimulatorDriver,RemoteWebDriver
如何利用WebDriver写出自动化用例
相信有同学对WebDriver十分了解,也写过自动化测试用例,一切经验跬积于实操。CSDN上有很多教程,思路基本都是在Eclipse中新建工程-->添加Selenium支持的jar包-->New一个WebDriver-->然后调用这个driver去做一些事情。(读到这里大家是否恍然大雾?这个driver是不是和uiautomator的UIdevice()函数也特别像?!)这里不多做分析,因为实在太基础。具体的案例可以查看这里:http://blog.csdn.net/wanglian2017/article/details/72852601(建议大家亲手搭一套环境写写感受一下为上)
自动化用例的实用性和维护成本
当大家写过一段时间的自动化用例,有了一定的项目经验后,回过头来可能会惊奇的发现:自己写用例的时间居然和维护用例的时间差不多;而维护用例数居然占总用例数的绝大部分。这是为什么呢,感觉有点重???!分析发现,在快速迭代的项目中,UI或者说界面元素、逻辑发生变化的可能性非常大而且频繁,自动化测试者往往是费了很大劲重写了几条用例之后又花了更多的时间去维护别的用例,周而复始。时间花费了,效果还不好,性价比不高了。看起来,是否觉得貌似和自动化的初衷有点违背啊?!
反思
是否有一种工具在用例失效的时候可以快速对其进行修改,快速进行测试,结果快速同步到服务器上,并且能完成人不能完成的测试工作,而且维护成本还小。(强调完成人不能完成的工作则是自动化工具存在的重要意义之一)
1.痛点分析(结合以往常见UI自动化框架进行的分析)
原创草图 谢绝转载
2.方法论(痛定思痛,于痛点基础之上得出的一套方法论)
谢绝转载
3.优势分析(与存在痛点的UI自动化框架比较,key feature何在)
原创草图 谢绝转载
智能化录制回放工具架构图
基于以上反思,小编画了链接机器与人的Web端智能化录制回放工具的架构草图,抛砖引玉,如下:
原创草图 谢绝转载PS:在工具的实现中会遇到诸多问题。问题来了不用害怕,因为方法总比问题多。最后,不忘初心,方得始终!
落地
解决问题维度图 自动化率数据 效率提升总结:
用例的持续集成化执行在很多公司都大同小异,唯有录制工具这块的实现则各有千秋。根据项目的不同需定制化各自的录制方法以实现不同项目上多变的需求。因此,在录制部分的实现上,呈现了百花齐放的局面。基于DOM树处理的方式是小编实操后觉得可行的其中一种方案,它于WebDriver完全独立开来,且自成一套体系。当然,围绕这个方案需自定义一套抓取法则和一套人机交互法则用于覆盖前端的各种事件,大家有兴趣不防尝试一下。在回放部分可一惯使用WebDriver。
申请专利案号:58-120704
网友评论