【问题标题】:XML Data Driven Selenium TestsXML 数据驱动的 Selenium 测试
【发布时间】:2012-05-11 04:58:55
【问题描述】:

我一直在使用 Visual Studio 2010 与 Microsoft 测试管理器链接,使用 Team Foundation Server 来运行 MTM 数据驱动的 Selenium WebDriver 测试。这一直运行良好,我对此感到非常满意。我的问题是,有时我还希望在“每个测试”的基础上运行一组单独的数据,以支持 MTM 中的数据(例如,MTM 将具有登录用户/密码数据,并且此 XML 文件将具有导入数据有效用户)。

现在,通过每个测试,我的意思是为 MTM 中的每个数据行访问一行 XML(或 CSV,如果这更容易的话)。或者,是否有一个地方可以初始化一个 TestMethod,而不是在 TestMethod 的每个数据行迭代之前在 Visual Studio 中调用的初始化。或者最后,是否有可能找出正在执行的测试迭代(例如,当前正在使用哪个数据行)。

我知道这是以相当混乱的方式编写的,但我正在努力使其更易于理解!如果有任何混淆或模棱两可的地方,请告诉我,我会努力解决。

【问题讨论】:

  • 这里描述了使用 TestNG 和 Java 的 selenium 解决方案:functionaltestautomation.blogspot.com/2009/10/…。您是否可以看到上面链接中遵循的方法。我不知道 Visual Studio 或 C# 特定的解决方案。
  • 感谢您的意见,我已阅读该页面,这是一个非常好的指南(带有 vid 教程!)。但是,我的问题是 VS2010 特有的,因为我仍然需要访问 MTM 数据。此外,测试由 Visual Studio 使用 TestMethod 属性启动。除非我在这里遗漏了什么?

标签: visual-studio-2010 selenium selenium-webdriver


【解决方案1】:

我通过在每个测试文件中使用全局 int 来找到我自己的解决方案(虽然有点 hacky),它被初始化为 0。然后在每个测试结束时我增加它(非常明显真的)。我选择实现一个标准的 XMLreader 并利用这个全局 int,尽管在一个文件中的 TestMethods 之间进行更改时会有点棘手。我可以通过“如果 XML 元素数 == 当前 XML 元素 索引;然后 i = 重新初始化”来做到这一点。

希望这可以在某个时候帮助某人!

【讨论】:

  • 注意:仍然欢迎任何更好的解决方案!我很乐意接受一个更好的答案,因为我确信存在一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-25
相关资源
最近更新 更多