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


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

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

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

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

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

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

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

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

    跟我右键复制的区别在于前面的div和*,
    去界面中看了一下,Selenium IDE模拟的,能唯一定位
    在这里插入图片描述
    而鼠标右键复制的,定位并不唯一
    在这里插入图片描述
    改一下定位,问题解决

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

    3、接下来我要连接数据库,使用pip在终端安装 cx_oracle时,提示
    在这里插入图片描述
    (终端字体忽然就这样了,半角显示也没问题,没找到解决办法,有大佬看到能跟我说一下怎么解决吗)

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

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

  • 相关阅读:
    synchronized 底层原理
    六、stm32-OLED
    JMeter笔记17 | JMeter逻辑控制器简介
    请问各位关于virtual.lab的问题
    java进阶之路
    Web前端开发与低代码开发——现状分析与未来发展
    19.ROS编程学习:节点关闭与多种日志输出
    Docker 的数据管理与Docker 镜像的创建
    使用Webpack打包TS代码
    是什么可以在Github上标星86.4K,揭秘蚂蚁金服开源的Springboot项目笔记
  • 原文地址:https://blog.csdn.net/weixin_44722536/article/details/125506968