前端ui频繁变动导致selenium定位失败的方法【实践篇】


感谢[我去热饭*饭哥]的开发及无私分享,这里我将实践的情况以及踩的坑记录整理一下。

步骤1:安装必备的包

#此处注意:python版本3.5可以,python3.7出现问题
pip install  python-Levenshtein  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install  selenium  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install  wqrfnium  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install  xlrd  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install  xlwt  -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install xlutils  -i https://pypi.tuna.tsinghua.edu.cn/simple/

#安装Visual C++ 14.0
#参考文章:https://blog.csdn.net/tszupup/article/details/83536673

步骤2:执行代码

from selenium import webdriver
from wqrfnium.wqrfnium import *
begin_wqrf(r'MyElements.xls')
driver = webdriver.Chrome()
driver.get("http://www.baidu.com/")
time.sleep(5)
#注意:我这里写的是search。作者写的是seach。
getelement(driver, "search_input").send_keys('我是热饭')
time.sleep(5)

看到没,报错了,怎么办?

代码执行之后,我们的demo学习文件夹里会有一个ini文件,打开它,配置一下路径即可。

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第1张图片

再运行一下代码:

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第2张图片

步骤3:填充Excel文件

手动进入elements.xls,把要定位的页面元素手动输入定位方式和定位值,粘贴到excel表中,每行一个元素

第一列:元素的标识,用于之后代码中直接调用该元素,如示范代码中的“seachinput”

第二列:元素的默认定位方式,如id

第三列:元素的默认定位值,如 kw

第四列:元素的下标,一般都写0,算法获取元素是获取符合要求的所有元素

第五列:元素的html源码标签,无需注意,由系统自动生成。

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第3张图片

步骤4:再次执行一次代码

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第4张图片

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第5张图片

下面我们试着剖析一下源码的原理:

脚本第1次运行。

执行成功,毕竟是你自己写的代码。

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第6张图片

脚本第2次运行(假设此时前端的UI已经更改了一些属性,你在excel里面的id,kw已经找不到了)。

那么就会走下面的代码。

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第7张图片

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第8张图片

关键部分:search_new。这段我没怎么看懂。

前端ui频繁变动导致selenium定位失败的方法【实践篇】_第9张图片

看完这篇内容后,相信以下两件事,也会对你的个人提升有所帮助:

1、 点赞,让更多人能看到这篇文章,同时你的认可也会鼓励我创作更多优质内容。

2、 让自己变得更强:想一想,如果你想在测试这个行业一直做下去,你的经验和功能测试技术是远远不够的,你需要进阶,你需要一直丰富你的技术栈!还等什么!

最后:【可能给予你助力的教程】

在这里插入图片描述
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

关注我的微信公众号:【伤心的辣条】免费获取~

我的学习交流群:902061117 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

好文推荐:

阿里小黑叹息:越来越多的年轻人从职场撤退了?

Python简单?先来40道基础面试题测试下

App公共测试用例梳理

从一名开发人员转做测试的一些感悟

你可能感兴趣的:(自动化测试,测试工程师,python自动化测试,测试工程师,软件测试,单元测试,Python自动化测试,接口测试)