2015-10-13 53 views

回答

2

硒可以自动化网页的任何部分,如果它基于HTML。因此,如果您想检查它,请打开CRM Web应用程序,打开浏览器控制台并确认自动化测试所需的所有元素是否都基于HTML。

Selenium无法访问网页的非HTML组件。您可能需要使用像Sikuli这样的基于图像的测试工具。

+0

感谢您的回复,MS Dynamics CRM的实体表单元素通过Xrm.Page对象模型公开。我不确定它是否是非HTML组件。 –

+0

例如文本输入字段的HTML显示为

它看起来像HTML。 –

+0

这当然是HTML ...尝试自动化一个流程作为概念证明,然后继续。有没有浏览器限制。像应用程序只能在IE中打开? – Sighil

0

由于最近有一个重复问题(Does Selenium suports CRM applications),我会在这里提供我的答案。

我已经使用Dynamics CRM成功实施了Selenium Webdriver自动化。 CRM和其他网站之间的主要区别是:

  1. 使用iframe。确保切换到包含您想要处理的元素的正确框架,例如driver.switchTo().frame(the_frame_id),或更好的是,通过使用ExpectedConditions.frameToBeAvailableAndSwitchToIt(by)
  2. 隐含地等待帧如其他人所述,等待加载时间。但是,除了硬性的睡眠或明确的等待之外,我发现CRM在加载时实际上显示了很好的旋转“加载...”消息。因此,为了在执行进一步操作之前等待消息消失,我已经使用了ExpectedConditions.invisibilityOfElementLocated(locator_of_loading_dialog);或者对于其中可见度由display以外的不同属性值驱动的一些棘手的尝试,请尝试ExpectedConditions.attributeContains(locator, attribute, value) - 例如ExpectedConditions.attributeContains(By.id("some_id"), "style", "visibility: hidden")

除此之外,它只是另一个网站。

相关问题