appium+selenium自动化测试UI踩坑记录之--判断元素是否存在

发表于:2021-1-04 10:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:日拱一卒    来源:博客园

  判断应用程序元素是否存在,之前使用的代码如下,但是页面跳转后,通过xpath查找信息能查找到跳转前页面的内容,造成信息判断不准确。
      def isElementPresent(self, driver, xpath):
          # 从selenium.common.exceptions 模块导入 NoSuchElementException类
          from selenium.common.exceptions import NoSuchElementException
          try:
              element = driver.find_element_by_xpath(xpath)
          # 原文是except NoSuchElementException, e:
          except NoSuchElementException as e:
              # 打印异常信息
              print(e)
              # 发生了NoSuchElementException异常,说明页面中未找到该元素,返回False
              return False
          else:
              # 没有发生异常,表示在页面中找到了该元素,返回True
              return True
  于是更换判断方法,如下:  如果点击元素判断元素是否报错,判断页面跳转成功
   1 @allure.step("判断元素是否可以点击")
   2     def isElementCanClick(self, xpath, driver):
   3         # 判断页面
   4         flag = False
   5         try:
   6             driver.find_element_by_xpath(xpath).click()
   7             flag = True
   8             return flag
   9         except:
  10             return flag
  问题重现
  通过driver.page_source 查看可以取到的元素,再结合xpath检验

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号