概括:
我正在为 web 应用程序(使用 Selenium)进行一些自动化测试,并且我正在尝试捕获在 onclick 事件期间由 javascript 生成的 mailto:link (特别是它的查询参数之一)。目前我能想到的唯一方法是将逻辑复制到我的测试函数中。这并不理想,因为这意味着如果 webapp 中的逻辑发生变化,我将不得不更新测试中的逻辑。我的问题是:你能想出更好的方法吗?
细节:
以下是 web 应用程序的工作方式:
- 侦听 div 上的点击事件
- 如果事件的目标是“电子邮件按钮”,则根据当前状态生成一个 mailto: URI
window.location = [generated URI]
在 JavaScript 中设置
不幸的是,如您所见,此 URI 生成是由于 onclick 事件而发生的,并且只是将 window.location 设置为该 URI,因此它没有将其设置为锚点上的 href 属性(或任何其他元素上的任何属性)我可以查询 DOM。
我也没有任何运气找到一个由于window.location
设置为 mailto: URI 而触发的事件,它可能将 URI 作为其属性之一......我可能忘记了一个吗?
有任何想法吗?