wqrfnium震撼发布

简介: 你是否曾遇到以下情况:好不容易写个selenium自动化脚本,然后没几天,一运行,报错了。用例失败了。然后去查发现是因为元素的属性前端更改了导致定位失败。后期维护起来的成本太大了。很多领导考虑到公司实际情况,就直接扼杀了你的selenium自动化方案。曾几何时,面试题中问:ui自动化的使用场景是什么?答:前端不频繁变动

微信图片_20220609151042.png


对于解决selenium定位不到元素问题,前端频繁变化导致元素的各种属性变化导致的问题,最近问世的wqrfnium似乎给出了一种解决思路。


它是什么?

它可以让你的selenium脚本一套用到死。

它可以让原本不能做的自动化项目开启自动化。

它可以瞬间扩充自动化人员的工作机会。

它可以前端妹子把元素改到人都不认识,但是它依然认识。

它怎么下载?

嫌麻烦可以直接 pip install wqrfnium微信图片_20220609151101.jpg

也可以访问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的理解,谢谢关注!

测试开发夸夸圈,为您发现更多测试届好用的小工具!微信图片_20220609151109.jpg

相关文章
|
SpringCloudAlibaba 容灾 关系型数据库
nacos常见问题之启动报错如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
2418 2
|
测试技术 UED Python
App自动化测试:高级控件交互技巧
Appium 的 Actions 类支持在移动应用自动化测试中模拟用户手势,如滑动、长按等,增强交互性测试。ActionChains 是 Selenium 的概念,用于网页交互,而 Actions 专注于移动端。在Python中,通过ActionChains和W3C Actions可以定义手势路径,例如在手势解锁场景中,先点击设置,然后定义触点移动路径执行滑动解锁,最后验证解锁后的元素状态。此功能对于确保应用在复杂交互下的稳定性至关重要。
|
人工智能 安全 算法
AI应用如何进行测试?
AI应用如何进行测试?
1630 0
|
SQL 人工智能 分布式计算
一文看懂 Cloudera 对 CDH/HDP/CDP 的产品支持策略
一文看懂 Cloudera 对 CDH/HDP/CDP 的产品支持策略
一文看懂 Cloudera 对 CDH/HDP/CDP 的产品支持策略
|
JavaScript
VUE3(十)生命周期及钩子函数
Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、卸载等一系列过程,我们称这是Vue的生命周期。通俗说就是Vue实例从创建到销毁的过程,就是生命周期。
6386 0
VUE3(十)生命周期及钩子函数
|
12月前
|
JavaScript 前端开发 Python
用python执行js代码:PyExecJS库
文章讲述了如何使用PyExecJS库在Python环境中执行JavaScript代码,并提供了安装指南和示例代码。
545 1
用python执行js代码:PyExecJS库
|
7月前
|
存储 人工智能 测试技术
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
141440 29
小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
|
10月前
|
JSON 测试技术 数据格式
Playwright 测试报告器
Playwright 测试报告器
379 4
|
10月前
Playwright 测试重试
Playwright 测试重试
258 2
|
10月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
572 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路