美文网首页我爱编程程序员
python-selenium-bs自动化实战(一)

python-selenium-bs自动化实战(一)

作者: 武定路 | 来源:发表于2018-03-26 16:14 被阅读0次

    一直没有时间书写项目实战中的自动化实战文章,刚好项目中用到了冒烟测试脚本,就此通过项目对自动化测试实战技术进行梳理,顺便也给想学习的朋友一个方向。

    此自动化测试走的是BS全流程测试,即冒烟测试。

    先对项目及脚本目录做一个总的介绍。


    1.脚本目录

    项目结构

    项目结构大致如此,我会给出github上的脚本地址,另外,需要注意的是,运行脚本的时候要注意run_test.py中test_dir和report_dir都是绝对地址,如果要运行脚本需要改成自己当年目录的地址,否则会报错。另外运行环境是python2.7.13, 其他版本还未测试,建议在2.7大版本下运行。

    Github地址:znyw2_smoke

    2.脚本书写大致思路

    首先大概介绍下 PageObject书写的思路

    页面元素

    如图,整个实时监控界面都是由一堆元素组成的(涉及部分前端知识,了解更好,不了解也不影响),页面上的元素主要分为button--按钮,input---输入,scroll---滚动条(本文没有涉及)三大类,而鼠标主要负责点击,键盘负责输入。而其中点击元素又起着跳转界面的作用,此元素定位十分关键。本次脚本多用xpath和classname定位,其他定位方式因为各种局限原因,并未使用,很多人刚接触自动化测试,都是被例子带歪了。。。真正项目中开发一般不会给你id和name这种独有的ID的,原因很简单。。现在很多都是各种框架和组件,基本上最常用的还是xpath,所以对xpath不熟练的朋友还要抓紧练习此定位方式。

    脚本中就是将这些元素的定位全部分离出来,然后作为页面类的属性数据封装起来,然后通过书写类的方法去把操作比如click--点击操作,input---输入操作分别按照取名封装起来,颗粒度要小,以方便之后的复用,而方法函数中的参数要分离出来,以方便外部脚本的输入调用。

    此界面跳转过程:

    点击左侧卡片告警详情出现 点击【通知调度】按钮出现dialog弹窗

    前端界面的跳转如上图,都是通过鼠标的点击事件实现的,而在输入事件后,通过http协议和后台提供的http协议传递给后台接收并处理然后插入数据库做永久化存储。

    对应的类脚本:

    类脚本

    类脚本书写完,还要再写调用脚本,以形成实际操作:

    调用脚本

    调用脚本中的driver即driver=driver.Chrome()驱动,用以当作所有的find_element的方法驱动公共参数。

    此界面的操作就这么写完了,实际上此脚本封装的还不够干净,因为定位的方法在行为中,最好是将定位的方法和定位数据都在类属性中书写,但目前脚本那么写就会报错,只能参考下别人封装的写法了,不过此脚本目前阶段干活是没问题的。

    自动化测试是一门非常实践的技术,其是为测试本身这项活动服务的,所以先完成业务,再修改脚本,这是一个测试应该特别注意的准则。

    后面将对其中一个界面,调用了js语言的界面进行讲解,最后再对runtest.py调用模块讲解下。暂定是三个部分。

    在写脚本的过程中,发现了implicitly()方法与driver方法的不同,有些界面必须加sleep界面才能跑通,所以需要查询一下此两者的区别。

    相关文章

      网友评论

        本文标题:python-selenium-bs自动化实战(一)

        本文链接:https://www.haomeiwen.com/subject/lfsrcftx.html