wqrfnium完美解决selenium定位不到元素问题,前端频繁变化导致元素的各种属性变化导致的问题。 你是否曾遇到以下情况: 好不容易写个selenium自动化脚本,然后没几天,一运行,报错了。用例失败了。然后去查发现是因为元素的属性前端更改了导致定位失败。后期维护起来的成本太大了。 很多领导考虑到公司实际情况,就直接扼杀了你的selenium自动化方案。 曾几何时,面试题中问:ui自动化的使用场景是什么?答:前端不频繁变动。
不过现在上面的问题不用再纠结了。因为一个专门抑制,抵抗,自动维护 因前端频繁变化导致元素定位失败的工具 出现了。 这个工具就是:
wqrfnium 它是什么? 它可以让你的selenium脚本一套用到死。 它可以让原本不能做的自动化项目开启自动化。 它可以瞬间扩充自动化人员的工作机会。 它可以前端妹子把元素改到人都不认识,但是它依然认识。
它怎么下载? 嫌麻烦可以直接 pip install wqrfnium 也可以访问pypi官网:pypi.org/project/wqr… 想研究源码的可以去github:github.com/Woqurefan/w… 然后用这句引用即可 from wqrfnium.wqrfnium import *
它的原理? 它基于selenium和page-object模式: 一开始会默认用元素存放的默认定位方式去定位元素并返回,如果发现定位失败,则启动维护算法,维护算法会找到经过改变的该元素并返回,并且把该元素/控件 的新定位方式存储起来,以便之后直接使用。
它的性能? 正常使用默认定位方式定位需要:0.022秒。 定位失败-启动维护算法-重写定位-储存新定位方式需要:0.82秒。 下次定位会使用新的默认定位方式:0.022秒。
它的升级? 它目前尚未引入ai计算各属性权重分数,这个作者会在之后引入,大家也可以先用默认的,成功率已经达到99%。或者自己微调。 第一版只支持excel表中存放元素数据,后续会支持其他各种类型。 因为原理和appium相通,所以后续会支持appium。
它的作者? 就是博主:我去热饭,大家有什么问题仅可在此贴留言哈,博主拼命的修改中。
它的使用方法? 可以在这个链接先看一下readme: github.com/Woqurefan/w…
大致就是: 下载后,先运行下,让它生成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
异常问题? 若安装python-Levenshtein 时发生错误,大概率是因为c++的问题: 可按此链接安装: error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”: visualstudio.microsoft.com/downloads/ ———————————————— 版权声明:本文为CSDN博主「我去热饭」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/qq_22795513…