对于解决selenium定位不到元素问题,前端频繁变化导致元素的各种属性变化导致的问题,最近问世的wqrfnium似乎给出了一种解决思路。
它是什么?
它可以让你的selenium脚本一套用到死。
它可以让原本不能做的自动化项目开启自动化。
它可以瞬间扩充自动化人员的工作机会。
它可以前端妹子把元素改到人都不认识,但是它依然认识。
它怎么下载?
嫌麻烦可以直接 pip install wqrfnium
也可以访问pypi官网:https://pypi.org/project/wqrfnium/
想研究源码的可以去github:https://github.com/Woqurefan/wqrf_selenium
然后用这句引用即可
from wqrfnium.wqrfnium import *
它的原理?
它基于selenium和page-object模式:
一开始会默认用元素存放的默认定位方式去定位元素并返回,如果发现定位失败,则启动维护算法,维护算法会找到经过改变的该元素并返回,并且把该元素/控件 的新定位方式存储起来,以便之后直接使用
它的使用方法?
可以在这个链接先看一下readme:
https://github.com/Woqurefan/wqrf_selenium/blob/master/README.md
大致就是:
下载后,先运行下,让它生成element.xls的表,然后在里面录入/维护各种元素。
里面有个初始化语句:begin_wqrf(’./MyElements2.xls’)
是自定义excel表位置的代码,若不加则会在默认位置生成表。
首次运行因为是刚生成存放元素的表elemensts.xls,所以第一次接下来会因表是空的而停止脚本。
然后只需要把平时经常变化的元素存放进去,然后在脚本中引入wqrfnium.wqrfnium 的 getelement方法,里面需要传driver和元素的标识。即可让wqrfnium自动维护该元素。
。为啥要传driver,因为很多同学会同时在一个会话中启动多个driver,所以wqrfnium也需要区分下用哪个driver去定位哪个元素
它的优点?
1.使用简单,只需要变化定位语句即可。
2.源码简单,方便进行二次开发。
3.其中的所有分数权重参数可自行根据公司项目风格更改,来达到99%以上的成功率。
4.博主更新快,框架优化和前景非常nice。
5.同时支持py2,py3
它的依赖模块?
1.selenium
2.python-Levenshtein
3.python2/3
4.xlrd
5.xlutils
6.configparser
以上就是小编对wqrfnium的理解,谢谢关注!
测试开发夸夸圈,为您发现更多测试届好用的小工具!