栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pytest自动化测试-element not interactable、xpath元素定位不到、多页签下子表定位、pip使用问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pytest自动化测试-element not interactable、xpath元素定位不到、多页签下子表定位、pip使用问题

我在用pytest+python+selenium做WEB-UI自动化测试的过程中,遇到如下几个问题
1、
一个如图所示的按钮,我的定位方式是:

new_loc = (By.XPATH, '//span[contains(text(),"确定")]')

然后click()
最开始报了一个status为500的错误,没有截图,通过右键-复制XPATH定位,修改为:

new_loc = (By.XPATH, '//*[@id="modal-footer"]/button[2]/span')

以后报下图400的错:

为了解决这个问题搜了一下,可能有两种情况:
1、等待时长不够,加等待时长,如果强制等待不行就试试显示等待
2、这个元素可能是隐藏的,使用如下代码去定位

 e = self.driver.find_element(*loc)
 ActionChains(driver).move_to_element(e).perform()

我试了两种都不行,就用Selenium IDE模拟了一下点击这个元素,发现它对这个按钮的定位是

(By.XPATH,'//div[@id="modal-footer"]/button[2]/span)[2]')

跟我右键复制的区别在于前面的div和*,
去界面中看了一下,Selenium IDE模拟的,能唯一定位

而鼠标右键复制的,定位并不唯一

改一下定位,问题解决

2、项目实践中存在一个界面,不同页签下有不同子表的情况,那切换页签操作该页签下的子表,就得定位不同的子表
涉及到公司隐私,就不放图了
解决办法:不用数组遍历那么复杂的办法,刚开始我也想复杂了,以为四个页签用的是同一个表格,切换以后老定位不到,这时候不要再一个一个鼠标右键复制XPATH了,观察一下其实不同表格的名字是有顺序的,类似这样就是这些细节决定我们能不能定位到元素

3、接下来我要连接数据库,使用pip在终端安装 cx_oracle时,提示

(终端字体忽然就这样了,半角显示也没问题,没找到解决办法,有大佬看到能跟我说一下怎么解决吗)

查了一下可能是下面的原因:
1、pip没有安装对,在cmd中输入python,出现版本则说明python装对了,再检查pip,看有没有装对…不展开介绍了哈,首先排除这个问题,我在虚拟环境中装的,不会受本地影响(我觉得)
2、最近学习性能测试,安装了LoadRunner,看到有博主说这个软件也有pip,系统无法识别pip

最后我忽然想起来,我用的是python3.9,使用pip命令应该写为pip3,解决问题

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/997610.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号