提前谢谢你的帮助。
我的问题与SpecFlow特性文件中的最佳实践有关吗?
问题:
在被认为是错误做法的特性文件中使用等待命令。
示例:
And i click on the username
And wait 5 seconds
And i input new value into last name等待命令强制5秒等待。我这样做是为了确保页面被加载,以防止“元素找不到”错误或其他错误。基本上是为了确保我有一个干净的页面来操作。
更好的做法是在步骤文件本身中使用等待吗?
//using Fluent Automation
I.WaitUntil(() => ());
//or
I.Wait(); //timespan我不使用Fluent自动化等待的理由是:
通过使用Fluent自动化方法,您依赖于Settings对象中的默认超时。在某些情况下,默认超时可能不够长,也可能不够长。在我看来,不断地更改/重置Settings对象似乎非常冗长,唯一的好处是从特性文件中删除等待命令。
那么,什么才是最佳实践呢?
谢谢,
-n
发布于 2013-07-31 16:57:13
我认为最好的做法是为您的场景保留特性文件,并且不包含实现细节。
因为我们遵循的是一个BDD流程(http://dannorth.net/introducing-bdd),那么特性文件就是您和流程专家之间对话的输出,并且场景代表了您将要采取的步骤,以证明您的功能适用于该示例。您可能希望这些步骤定义业务流程,并且可以由任何系统执行,而不仅仅是我们现在正在开发的系统。理想情况下,这个逻辑捕获了我们的意图,并可以在任何可能取代当前系统的未来系统上重用。
所以我没看到你说你需要等待
……
尽管你可能想说
When the page has loaded这很好地映射到了流畅的自动化上。
https://stackoverflow.com/questions/17975353
复制相似问题