在面试的时候,经常会遇到这样的问题:你做过UI自动化么?是怎么做的?
一般来说,我会这么回答:做过,我是用Python+Selenium+UnitTest+BeautifulReport采用POM模式来做的。
首先的话我会创建一个BasePage类把一些常用的方法重新封装下,比如元素定位,打开页面等等直接封装的简单些,例如self.driver.find_element_by_id直接封装成by_id就行了。
然后的话如果页面跑自动化的时候要登录,也把登录直接封装成一个函数,后面直接调用函数就可以了。
还有的话也会把封装读取配置文件函数,比如读取CSV配置文件,我们可以把所用到的一些数据直接放在配置文件里比如url账号、密码等。
后面直接调用函数读取文件数据,这样如果后面改数据测试可以直接在配置文件里面修改。
后面就是先把需要测试的页面定义一个个page类(继承我们之前封装好的常用的方法),里面的一些属性、元素封装成一个个方法,比如一个通过ID定位的点击按钮、点击输入框、输入框输入数据、确认按钮等等这些都封装成具体的方法。
这些封装好之后全都放在创建的common文件夹下面表示是一些通用的方法、函数。
这些都做好之后就可以创建UnitTest用例集了,需要用到什么方法、函数、page类直接导入进来,给需要浏览器驱动的传入驱动就可以使用它里面的方法了,方便我们写用例。
用例写完后,创建一个run_all文件,用BeautifulReport模块,通过设置可以执行所用的测试用例并且生成一个html报告,也可以配置发送邮件等等。
基本上我是这么回答面试官的,然后工作中也基本是这么用的。
不过这只是应付面试,里面的一些东西,最好还是会用,不然面试过了,进去不会做也很尴尬!
作者:九月的梦