2012-08-13 65 views
2

我们计划将WebSharper用于我们的Web界面。问题是我们的集成测试基于硒,并使用页面元素的ID来点击和填充数据。
因此,我们需要能够为页面中的所有相关元素指定id。websharper元素ID

对于非表单元素,我们可以这样做: A [HREF(ctx.Link首页)] - < [文字 “家” - < [ID “家”]

我们怎样才能做到这一点对于formlet中的输入字段?

感谢

UPDATE:最后我们决定不websharper formlets使用。原因之一是我们无法将ID分配给表单元素,因此我们的测试方法不再有效。另一个原因是基于表格的布局不适合我们的设计。我们仍然会使用websharper,但没有formlets库

+0

我敢肯定输入字段获得自己的随机id来自基于JS的Formlets库。您应该使用WebSharper的JQuery API来选择它(不是通过id,而是提供Formlet的元素)。 – 2012-08-13 15:38:46

+0

基于表格的formlets是一个真正的难点。 12个月前,我为此提出了一个错误。也许他们需要一些温柔的刺激:) https://bitbucket.org/IntelliFactory/websharper/issue/9/table-free-formlets – Oenotria 2012-12-23 12:18:52

回答

1

为什么你明确需要使用ID的硒测试? 我确信你知道这一点,但我会把链接 http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/By.html

从我的XP的XPath比ID的更可靠,我看到在那里有很多相同ID的网页(虽然我刮野生网络不是内部应用程序:-))

+0

我们的测试用Python编写,看起来像这样: ... 会话。 User_Create.click() session.Name.text =“someuser” session.DisplayName.text =“某用户显示名称” session.Password.text =“somepass” session.Save.click() 这样做通过硒上方的薄层。 将这些改为使用xpath可能需要很多工作,而且他们不会看起来那么干净。 因为现有的用户界面是为了支持这种测试方法而编写的,所以在一个页面中使用相同的ID并非如此。 – vidi 2012-08-15 08:41:56