使用 Selenium Web 驱动程序在 Dynamics 365 中进行自动化测试会引发错误

问题描述 投票:0回答:4

我正在尝试使用 selenium Web 驱动程序在 D365 中进行自动化测试。

但是一些按钮和选项集不起作用,并尝试使用 Xpath 和 CSS 选择器。但是抛出错误,尝试了很多方法但没有用。

还有其他按键可以使用吗?

dynamics-crm dynamics-365
4个回答
1
投票

在我们使用 Selenium 自动化 D365 的早期努力中,我们注意到工具提示经常干扰我们的点击尝试。这可能会发生在你身上。我尝试过的一件事是使用 MouseActions 在单击之前将鼠标从按钮上移开 - 它应该避免触发工具提示。

我们遇到的一个特殊问题是单击表格中的项目。 Selenium 只允许您单击表格单元格,但 D365 只接受单击单元格中的链接文本。如果单元格列的宽度是文本宽度的 2 倍或更大,则单击单元格将无法单击文本(默认情况下,单击元素位于元素矩形的质心上)。解决方案是使用 sendKeys 来使用键盘导航并在单元格上使用 Keys.ENTER,这会触发链接。

关于 D365 需要注意的一点是,大量的页面操作会导致出现非常短暂的模态屏幕。用户很少注意到,但 Selenium 经常会注意到。我们的许多交互都是以等待任何此类模式消失为前提的。 (我一时想不起班级名称。)

另一件事要知道的是,当您在页面之间转换时,您并没有真正更改页面,而只是将新页面置于先前页面之上。如果先前屏幕上的任何按钮与当前屏幕上的按钮相匹配,则您可能会点击先前的按钮而不是活动的按钮。可靠的解决方案是在定位器前面加上“form.active-form”或“//form[contains(@class,'active-form')]”(我真的推荐css版本),它将包含当前的“可见”页面。

当然还有 D365 的不可靠元素 ID,它在每个不时变化的元素 ID 中放置一个“工作空间 id”...

尝试自动化 D365 UI 经历了很多痛苦(和阴影)。我们之所以坚持这样做是因为我们还需要与许多其他第三方应用程序集成。只要有可能,我们都会寻找替代方案,例如使用 API 或数据库调用而不是 Web UI。



-2
投票

我推荐 RSAT。
它基于 Selenium,但可使用任务记录与 d365 配合使用。


-2
投票

我们被要求自动化 D365 应用程序。我们最好考虑使用 selenium 框架来自动化它。有人可以指导我们是否还有其他更好的自动化 D365 应用程序?还是选择硒是个好决定?

© www.soinside.com 2019 - 2024. All rights reserved.