java - 为什么我改进的 Selenium IDE 脚本在 Selenium WebDriver 执行中表现不同?

标签 java selenium xpath selenium-webdriver selenium-ide

具体来说,当我向框架内的对象提供命令和 XPath 时,IDE 可以与对象交互,而无需执行“selectFrame”命令。当我在 WebDriver 执行中运行相同的命令序列时:

| waitForVisible | target |
| click | target |

WebDriver 生成一个堆栈跟踪,指示该对象不可见且无法与之交互。我必须通过以下附加步骤更新我的脚本:

| selectFrame | frame |
| waitForVisible | target |
| click | target |

IDE 是否使用某种类似于 RC 的 Javascript 注入(inject)来模拟 IDE 中的命令?

最佳答案

IDE 和网络驱动程序遵循相似的编码路径,但并不完全相同。因此,命令可能始终完全同步,具体取决于版本。我们遇到了一个问题,我们的 IDE 能够在测试套件中的测试之间传递变量,但我们的独立版本 (2.37) 不支持此功能(它支持 2.38+)。

然而,WebDriver 也使用 native 命令并摆脱了 Javascript 注入(inject),这实际上在某些方面为您提供了更多的权力(避免单一主机来源政策)。

关于java - 为什么我改进的 Selenium IDE 脚本在 Selenium WebDriver 执行中表现不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21140383/

相关文章:

javascript - 无法使用 jquery 选择器访问输入

java - Cordova 到 Android studio 错误 malformed\uxxxx 编码

php - 如何使用 PHP 将 XPath 表达式作为 XSL 参数传递?

java - 尝试制作平均查找器,不使用 ReadLine(),仅使用控制台

java - 如何添加 selenium 测试用例来测试下载的 Excel 和 csv 文件中的数据

selenium - 如何以详细模式启动 Chromedriver - Selenium Eclipse

python - 从链接下载 pdf 但服务器重定向到主页

c# - 此 XPath 的 LINQ to XML 等效项是什么

java - 如何在不同实现/类/等的java中调用toString()

java - 是桥接方法吗?