当前位置: 首页 > news >正文

定制规划设计公司seo去哪学

定制规划设计公司,seo去哪学,网站架设的结构,关键词搜索引擎又称为在 UI 自动化测试中,输入文本是最常见的操作之一,但你是否遇到过以下问题? 文本框已有默认值,直接 send_keys 会导致测试失败。使用 element.clear() 后,仍无法触发前端的 input 事件。脚本执行速度慢或抛出元素不可见…

在 UI 自动化测试中,输入文本是最常见的操作之一,但你是否遇到过以下问题?

  • 文本框已有默认值,直接 send_keys 会导致测试失败。
  • 使用 element.clear() 后,仍无法触发前端的 input 事件。
  • 脚本执行速度慢或抛出元素不可见的异常。

今天,我分享一个我在项目中封装的 高可靠性 send_keys 方法,并结合 Selenium + Python 做了优化。

方法实现

def send_keys(self, locator, text):"""输入文本"""try:# 定位元素element = self.find_element(locator)# 清空文本框element.clear()# 执行 JS 清空并触发 input 事件,确保前端响应变化self.driver.execute_script("arguments[0].value=''; arguments[0].dispatchEvent(new Event('input'));", element)# 输入新文本element.send_keys(text)logger.info(f"输入文本到 {locator}: {text}")except Exception as e:self._handle_error("send_keys", locator, e)

核心优化点

1. 双重清空文本框

  • element.clear() 可以清除文本框内容,但有些前端框架会阻止或异步修改输入值。
  • 使用 JavaScript 强制清空,并触发 input 事件,确保前端监听器正确捕获变化。

2. 捕获异常并统一处理

  • 通过 try-except 捕获所有操作异常,调用 _handle_error 方法统一处理(截图、日志等)。
  • 提高自动化稳定性,减少测试用例因元素暂未加载而失败。

3. 日志记录

  • 使用 logger.info 输出操作信息,便于排查问题。
  • 对测试报告友好,可直接查看元素和输入内容。

使用示例

login_page.send_keys(("id", "username"), "test_user")
login_page.send_keys(("id", "password"), "123456")
login_page.click(("id", "login_button"))
  • locator 可以是 (By.ID, “username”) 或 (By.XPATH, “//input[@name=‘username’]”)。
  • 兼容绝大多数输入框、前端框架(React、Vue、Angular)。

总结

封装高质量的 send_keys 方法,可以解决:

  • 前端异步框架导致的输入问题
  • 测试脚本稳定性差、间歇性失败的问题
  • 日志和异常处理分散、难以排查的问题

在 UI 自动化中,小工具的封装能大幅提升测试效率和稳定性,推荐每个项目都建立自己的基础页面类库。

http://www.dtcms.com/a/483719.html

相关文章:

  • 公司网站建设推广方案模板网站没有权重
  • 14-无监督学习:讲解无需标注数据的数据分析和模式发现方法
  • Spring Framework源码解析——ServletConfigAware
  • 微商城网站建设策划方案网站建设的市场规模
  • UDP 首部
  • 【Kubernetes】K8s 集群 RBAC 鉴权
  • 两个数组的dp问题
  • 有没有免费的网站服务器网站开发离线下载报表
  • 网站服务器ip地址怎么查世界500强企业排名
  • 万网租空间 网站网站优化改版
  • 网站推广公司渠道WordPress入门编辑器
  • 大连城市建设档案馆官方网站php 网站反盗链
  • 解锁 Python 多线程新纪元:深入体验 3.14 的 Free-Threading 功能
  • 【框架演进】Vue与React的跨越性变革:从Vue2到Vue3,从Class到Hooks
  • ASP.NET Core Blazor简介和快速入门(基础篇)
  • 找印度人做网站网站建设经费预算
  • 孝感网站建设公司学院 网站 两学一做
  • 网站建设费用5万入账企业注册号查询系统
  • Redis概述
  • 南京网站优化步骤制作企业网站页面html
  • 南阳微网站推广wordpress 怎么添加网站备案信息
  • 将导出的数据导入新创建的海量数据库
  • 简单电商网站模板谷歌seo顾问
  • Vue3+Three.js:requestAnimationFrame的详细介绍
  • 找南阳建立网站的公司wordpress彻底禁用google
  • WHAT - 前端动画的前世今生
  • 技术视界 | 破解“1+1>2”的难题:多机器人系统的协同挑战与前沿突破
  • PPT宏代码
  • asp.net网站开发全过程淘宝客网站开发教程
  • 无锡网站优化推广东莞模板网站设计