总结:
我正在对 Web 应用程序(使用 Selenium)进行一些自动化测试,并且我正在 try catch 在 onclick 事件期间由 javascript 生成的 mailto:link(特别是其查询参数之一)。目前我能想到的唯一方法是将逻辑复制到我的测试函数中。这并不理想,因为这意味着如果它在 webapp 中发生变化,我将不得不更新测试中的逻辑。我的问题是:你能想到更好的方法吗?
详细信息:
Web 应用程序的工作方式如下:
- 监听 div 上的点击事件
- 如果事件的目标是“电子邮件按钮”,则根据当前状态生成一个 mailto: URI
- 在 JavaScript 中设置
window.location = [generated URI]
不幸的是,如您所见,此 URI 生成是 onclick 事件的结果,只是将 window.location 设置为该 URI,因此它没有将其设置为 anchor 上的 href 属性(或任何 anchor 上的任何属性) other) 我可以查询 DOM 的元素。
我也没有运气找到一个事件,该事件是由于 window.location
被设置为 mailto: URI 可能将 URI 作为其属性之一而触发的。 .我可能忘记了一个吗?
有什么想法吗?
最佳答案
您是否尝试过使用 storeEval 手动调用 onclick 上的函数并分析返回值?
关于javascript - 捕获脚本生成的 mailto URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218139/