Testing BDD和UI测试

Testing BDD和UI测试,testing,user-interface,bdd,Testing,User Interface,Bdd,这里有个问题 我们有一个使用IronRuby的WPF MVVM应用程序。我们使用DevXPress dock manager。我们有黄瓜测试(让它在IronRuby上工作是我们的团队领导通过dolorosa进行的) 我们的部分要求是允许用户保存屏幕布局。围绕这一点包装BDD测试的好方法是什么 当用户关闭应用程序时,将保存布局 这是我的第一个想法 让cucumber打开应用程序 让Cumber使用Beuldr和/或white移动物品。 (很难模拟用户移动布局。) 拍个截图什么的 关闭应用程序 再次

这里有个问题

我们有一个使用IronRuby的WPF MVVM应用程序。我们使用DevXPress dock manager。我们有黄瓜测试(让它在IronRuby上工作是我们的团队领导通过dolorosa进行的)

我们的部分要求是允许用户保存屏幕布局。围绕这一点包装BDD测试的好方法是什么

当用户关闭应用程序时,将保存布局

这是我的第一个想法

  • 让cucumber打开应用程序
  • 让Cumber使用Beuldr和/或white移动物品。 (很难模拟用户移动布局。)
  • 拍个截图什么的
  • 关闭应用程序
  • 再次打开应用程序
  • 拍个截图什么的
  • 比较一下截图什么的

  • 看,虽然这会奏效,但我认为这是一种复杂的方式来完成事情。我希望这里的人能给我一个建议,说明上面步骤中的“某物”可能是什么。

    白色是基于UI自动化的,如果它不支持停靠和绑定矩形,您可以随时深入UI自动化模式并使用它们。在您感兴趣的面板上尝试使用
    DockingPattern
    BoundingRectangleProperty
    。这样至少可以记录它们停靠的位置和大小


    还请记住,您不需要为所有内容编写自动化场景。美学和可用性方面的问题通常最好手动测试,因为如果用户不喜欢它们,不管自动化测试相信什么,它们都没有好处。这些场景通过提供文档和安全网,确保通过他们推动的对话达成共识,并帮助保持事情易于改变。如果你永远不会改变你的对接机制(因为它是一个第三方应用程序),那么只需手动测试它就行了。

    beuldr元素将在下一版本中提供“宽度”和“高度”方法(几天后-代码已签入并工作)。我想你可以用它们来获取元素的大小,看看它在应用程序重启时是否保持不变。您还可以使用“clickable_point”(可点击点)方法来判断元素的可点击点(通常是中心点)是否会在应用程序重新启动时移动-有点粗糙,但它可以工作