“瓦廷”加里奥IE”表现不好?

发布于 2024-10-31 20:53:29 字数 294 浏览 1 评论 0原文

我正在进行大约 300 个 Watin 测试,并使用 Gallio 测试运行程序在 IE 中运行它们。这些测试需要大约三个半小时才能完成。我想知道这里的每个人是否都看到了与 Watin 相同的表演,或者我正在做一些非常错误的事情。在这方面,我想知道

  1. 您是否正在使用任何特定的浏览器/测试运行器来使 watin 测试快速运行
  2. 您是否遵循任何允许并行运行 watin 测试的特定设计模式
  3. 您是否遵循任何允许我运行多个测试的设计模式在同一个浏览器实例中进行测试,这样我就不必在每次测试后关闭并打开浏览器

I am having around 300 Watin tests and I run them in IE using Gallio test runner. These tests take around three and half hours to run completely. I was wondering if everyone here sees the same kind of performance with Watin or I'm doing something terribly wrong. In this regard I would like to know if

  1. You are using any specific browser/test runner that makes watin tests run fast
  2. You are following any specific design pattern that enables running watin tests in parallel
  3. You are following any design pattern that allows me to run multiple tests in the same browser instance so that I do not have to close and open the browser after every test

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

骄傲 2024-11-07 20:53:29

我不知道如何并行运行它们,但您当然可以重复使用相同的浏览器实例,您只需要对其进行静态引用。我使用的是 MSpec,因此代码有点不同,但如果您只有一个包含浏览器引用或类似内容的静态类,那么应该对其进行排序。

作者还写了一篇关于它的博客,但这个方法比我必须做的任何事情都要复杂得多:
http://watinandmore.blogspot.com/2009 /03/reusing-ie-instance-in-vs-test.html

另一个需要检查的想法是,除非需要,否则您不会“键入”文本。例如:

browser.TextField(Find.ByName("q")).TypeText("WatiN");

比这个花费更长的时间:

browser.TextField(Find.ByName("q")).Value = "WatiN";

因为在第一行中,它单独键入每个字符。您可能需要这样做来检查您的 JavaScript,但通常不需要。

I don't know about running them in parallel, but you can certainly re-use the same browser instance, you just need a static reference to it. I'm using MSpec so the code is a bit different, but if you just have a static class containing the browser reference or similar, that should sort it.

The author also wrote a blog about it, but this method is much more complex than anything I've had to do:
http://watinandmore.blogspot.com/2009/03/reusing-ie-instance-in-vs-test.html

Another think to check is that you're not 'typing' text unless you need to. For example this:

browser.TextField(Find.ByName("q")).TypeText("WatiN");

Takes much longer than this:

browser.TextField(Find.ByName("q")).Value = "WatiN";

Because in the first line, it types each character individually. You may need to do this to check your JavaScript, but often you don't.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文