我已经使用Java中的PageFactory类进行自动化测试,并且由于它提供了额外的功能,因此与普通的POM方法相比,它有点方便。
但是现在我必须使用C#编写它们并且在谷歌搜索时,我发现PageFactory类的C#实现不提供这些额外的东西。具体来说,它们是:
1)PageFactory.InitElements方法不像Java那样返回页面对象。你必须单独归还。
2)ID到Name的回退机制。如果使用提到的ID找不到任何元素,则Java中的PageFactory会自动回退到Name。在C#中,您必须明确定义How=How.Name
才能实现此目的。
3)即使没有FindsBy属性,Java实现也可以找到该元素,但C#不是这种情况。
所以我想知道是否还有其他原因导致使用PageFactory实现C#仍然值得。
BTW,我通过谷歌找到的上述信息来源是here。