APPIUM+JAVA实现对安卓APK的自动化测试----第十五篇【参数化和对象化】

作者在百忙之中,抽出时间来和大家探讨自动化项目的参数化和对象化问题,我想做自动化的少年们一定都用过QTP,没用过的一边凉快去,作者的自动化框架也是借用了QTP的思路,参数化使用EXCEL【.xls】文件(要对EXCEL文件操作需要导入JXL.JAR包),对象化使用JAVA【.properties】文件,至于如何操作这些和书写代码,少年们可以去网上自己找,太多了,作者就不多说了。

作者要说的的是,一开始用这个套路,势如破竹,无往不利,但是到了项目维护阶段,就发现开始有问题了,

1.作者的参数化是按照用例来划分的,一个SHEET代表一条用例,一行代表一条数据,一列代表一个数据类型。

2.对象化也是按照用例来分的,一段属性值代表一条用例中的对象值。

这样划分虽然思路简单条理清晰,但是有个致命的问题,就是维护问题,当有数据需要修改就要打开EXCEL文件,并且数据量庞大时,作者一不小心就错改或者误删除又或者是改了忘记保存等等的操作,记得改回来还好,不记了,就等着运行时候,痛苦的排错,以及痛苦的核对数据。

再说说对象化,这个一条用例为单位的划分,一开始作者就一个properties文件,那个壮观啊,茫茫的属性,茫茫的找,而且有很多都是重复的,你肯能要说为啥不合并,我只能说少年你先来一发,再来质疑作者,一开始这个问题作者就已经在考虑范围之内了,如果合并光命名规则,和写注释就够你喝一壶的了,在经过不知多多少少的不眠之夜后,作者才做出这样的决定,但是最终的效果还是不佳。

经过好几个月的实验下来,作者已经被茫茫的维护工作折磨的快崩溃了,后来有一天没事,作者闲来没事,就买本SELENIUM的书看了看,瞬间顿悟了一些,作者目前的做法交之前的做法高级了许多,开始借助数据库来实现参数化和对象化,以前都是用线性的方式,现在使用切片的方式,以页面为单位,每个页面都划分为参数化和对象化两个表,这样一来,所有的数据都可以借助数据来统一管理,需要改数据或者查看数据,就写SQL可以了,而且方便统计。

目前作者的做法,参数化还是采用用例为单位的,还没有转到页面,应为那个设计要求很高而且不太容易实现,但是对于大型项目还是很有好处的,因为这样可以实现数据的拼装,而且在作者还是一个小白的时候就听到过,“某某某,那个这个页面测试,用几号数据来着的?”,当时还不懂,现在想想,我哩个天啊大原来我以前就已经和大内高手一起共事过了。然后对象化,作者已经以页面为单位来收集元素了,发现数据量较之前真的少了许多,而且查询真心方便。

好了,作者关于【APPIUM+JAVA】所有的家当都已经告诉大家了,希望可以给大家一些思路,也希望可以擦出火花或者是共鸣,同志们,给点好评啊,给点赞啊。

嗯~作者现在在玩SELENIUM,如果有啥新的动向,也是还会发表文章的,在废话几句,作者原本是不会写代码所以做了测试,可是整着整着,都快变码农了。所以在装那啥一下,少年们找门适合自己的语言慢慢学,还是很有用的。

你可能感兴趣的:(Android,Appium,Java)