首页 > 解决方案 > (MS Dynamics 测试自动化)无法切换到 iframe,帧自动更改

问题描述

我正在尝试使用 Selenium WebDriver 在 MS Dynamics 365 系统中切换帧。我将解释以下问题之一。这是html元素代码: 这里是 元素代码

通常,我曾经使用 id=contentIFrame0 或 1,并且帧切换正常。问题是,MS Dynamics 动态生成这些 iframe,通常包含最多 3 个 iframe(contentIFrame0,contentIFrame1,contentIFrame2),但事实是您永远不知道它们在页面上会是 2 还是 1 以及为什么,所以如果您今天使用其中一个直接 - 明天您的测试将因更改而失败。似乎我必须一直切换到最后一帧,但它是随机工作的,因为有时第一个包含元素,另一个包含脚本。我尝试做的另一件事是切换到一个具有以下属性的 iframe:样式 = 可见性:可见(在此之前,我尝试在控制台中打印驱动程序看到的可见帧数 - 但一直写为 0)。还,

如果有人尝试自动化 MS Dynamics 365 并遇到同样的问题?我可能已经描述了所有情况,也许您会注意到其中的逻辑和差异。

标签: seleniumselenium-webdriveriframeautomated-testsdynamics-365

解决方案


很难以这种方式进行测试,因为 Microsoft 不保证正在渲染的对象将保持不变。今天可能是 3 帧,但在下一个版本中,开发团队可能会或多或少地引入,不再支持直接使用 DOM。

我强烈推荐以下用于测试 Dynamics 的框架:https ://github.com/Microsoft/EasyRepro

它将帮助您将测试提升一个级别,它引入了一个抽象级别,以便通过隔离框架代码中的所有低级工作来最大程度地减少直接使用 HTML 的需要。

这是一篇关于 EasyRepro 的精彩文章:http ://www.itaintboring.com/dynamics-crm/easy-repro-what-is-it/

祝你好运


推荐阅读