Selenium IDE使用指南五(常见问题)
系列文章导航
- Selenium IDE 使用指南一(爬虫脚本录制器)
- Selenium IDE 使用指南二(命令行运行器)
- Selenium IDE 使用指南三(控制流)
- Selenium IDE 使用指南四(代码导出)
- Selenium IDE 使用指南五(常见问题)
- Selenium IDE 使用指南六(指令列表)
- Selenium IDE 使用指南七(参数定义)
如何记录悬停(Hover)操作?
鼠标悬停(Hover)操作很难在录制过程中被自动捕获。若需在测试中添加鼠标悬停操作,需要进行一些手动干预。您可以通过以下两种方式实现:
选项 1:在录制时添加
- 录制时,右键单击需要悬停的元素。
- 在出现的菜单中,单击 Selenium IDE,然后选择 Mouse Over。
- 确认 Mouse Over 测试步骤在测试中的位置正确(如有需要,可将其拖放至其他位置)。
选项 2:在测试编辑器中手动添加
- 在 IDE 中右键单击测试步骤。
- 选择
Insert new command(插入新命令)。 - 在 Command 输入字段中输入
mouse over。 - 在 Target 输入字段中输入要悬停元素的定位器(或单击 Select target in page 并选择页面上要悬停的元素)。
为什么在日期输入字段中键入的数字不能正确显示?
此问题通常出现在通过 Selenium IDE 的命令行运行器(Command Line Runner)运行测试时。
要解决此问题,您需要启用 W3C 模式。您可以在启动运行程序时通过传递参数 -c "chromeOptions.w3c=true" 来实现。
注意:启用 W3C 模式可能会影响 Selenium Actions 的性能。如果您的测试未涉及相关操作,建议仅在遇到日期输入字段问题时使用此模式。
如何让 IDE 等待特定条件成立才能继续进行?
在某些情况下,IDE 中的内置等待策略可能不够用。此时,可以使用可用的显式等待命令之一:
wait for element editablewait for element presentwait for element visiblewait for element not editablewait for element not presentwait for element not visible
如何在文本验证中使用正则表达式?
这是计划在未来添加的功能(详情请参阅 GitHub Issue #141)。
目前的解决方法是:将 XPath 定位器与 starts-with 和 contains 关键字结合使用。例如:
command: assertElementPresent
target: //a@[starts-with(.,'you are the') and contains(.,'User to log in today')]如何滚动页面?
Selenium IDE 中没有专门用于滚动的命令,因为 Selenium 核心中也未实现此类命令。相反,您可以使用 executeScript 命令执行 JavaScript 中的 scrollTo 方法,通过指定 x 和 y 坐标滚动到所需位置。
command: executeScript
target: window.scrollTo(0, 1000)保存文件相关问题
为什么保存 Selenium IDE 项目的位置未被记住?
为什么每次保存项目时都需要逐步执行“另存为”流程?
为什么需要覆盖以前保存的文件?
所有这些问题都源于同一个限制:浏览器扩展版的 Selenium IDE 无法直接访问文件系统。
目前提供“保存”功能的唯一方法是通过浏览器下载文件。当 IDE 完全迁移至本机应用程序(Native Application)时,此问题将得到解决。这将使 IDE 拥有首要的文件系统访问权限,从而提供更完善的“保存”体验。
如果要保持关注此功能的更新,可以参考 GitHub Issue #363。
如何在严格的代理/防火墙后面安装 IDE?
在某些企业环境中,您可能没有完全的公共 Internet 访问权限(例如位于公司代理或防火墙后面)。在这些环境中,您需要获取内置的 Selenium IDE ZIP 文件副本,以便离线记录自动测试脚本。
可以在 GitHub 的 Releases 部分找到相关文件:
https://github.com/SeleniumHQ/selenium-ide/releases
注意:并非所有版本都包含 selenium-ide.zip,因为其中一些仅仅是“源代码”版本。请查找包含此 ZIP 文件的最新版本,这通常意味着它是提交给 Chrome 和 Firefox 商店的最新构建版。正式签署的版本
从项目发行页面下载的 ZIP 文件通常是未签名的。或者,您可以从以下位置获取经过正式签名的安装程序,这些安装程序在“安全环境”中兼容性更好:
Firefox 附加组件
- 下载地址:Firefox Add-ons
- 所需的
.xpi安装程序下载说明:How to save Firefox addons for offline installation 注意:如果您已经安装了插件(例如在便携式计算机上尝试获取安装程序副本),在访问扩展管理页面时可能只会看到“删除”按钮。因此,建议先将其删除,让安装程序移至另一台未连接的计算机,然后根据需要在主设备的浏览器中重新安装。
Chrome 商店
- 下载地址:Chrome Web Store
- 所需的
.crx安装程序下载说明:How to download a Chrome extension without installing it 注意:您不能直接从 Chrome 商店中获取
.crx文件。相反,您需要在本地安装一次,然后转到计算机上的安装目录进行检索。
附加了插件后,为什么没有保存对话框出现?
由于已知的 Chrome 错误 (Issue 922373),如果您不答复 Selenium IDE 发出的消息,则不会进行进一步处理。
为了解决此问题,请确保侦听 project 实体的 emit 操作,并使用 undefined 进行回复:
chrome.runtime.onMessageExternal.addListener((message, sender, sendResponse) => {
if (message.action === "emit" && message.entity === "project") {
sendResponse(undefined);
}
});说明:本文部分内容基于 Selenium IDE 特定版本编写(涉及浏览器扩展与本机应用的过渡期)。随着 Selenium IDE 版本迭代(如 v4.x 及以上),部分功能(如文件保存机制、命令行参数)可能有所变化,请以官方最新文档为准。
版权声明:本文为原创文章,版权归 戴老师的博客 所有,转载请联系博主获得授权。
本文地址:https://1diff.fun/archives/selenium-ide-shi-yong-zhi-nan-wu--chang-jian-wen-ti.html
如果对本文有什么问题或疑问都可以在评论区留言,我看到后会尽量解答。