【问题标题】:C# ASP.Net Selenium Random ClicksC# ASP.Net Selenium 随机点击
【发布时间】:2015-03-17 13:33:06
【问题描述】:

现在,我正在考虑使用 Selenium WebDriver 和 Visual Studio (C# ASP.Net) 创建 Web 自动测试工具。

当我创建测试用例时,我必须创建正确的“a”链接的 ID,以便工具可以单击定义的链接。

但是,我想让它成为自动过程,例如随机单击呈现页面上的任何“a”链接 5 分钟。这意味着该工具将呈现页面,直到找到任何损坏的链接。

有可能吗?

【问题讨论】:

  • this 会帮忙吗?

标签: c# asp.net .net testing selenium


【解决方案1】:

只要您的链接具有能够识别它们的共同点,使用页面对象框架就可以做到这一点。

您可以在第一次登陆页面时初始化页面,并可能使用 xPath 选择器来识别所有链接并将其放入列表中,例如

[FindsBy(How = How.xPath, Using = "xpathToIdentifyAllLinks"]
public IList<IWebElement> Links { get; set; }

由于您有一种常用的方法来查找链接,因此您只需从“链接”列表中随机选择一些内容并单击它。然后重新初始化页面并执行相同的操作直到抛出异常?

这样做的巨大缺点是,如果您最终抛出链接已损坏的异常,那么如果没有任何自定义日志记录,将很难重现,因为您不知道您的测试在做什么。

【讨论】:

  • 该测试就像冒烟测试一样,看看是否有任何断开的链接或页面错误。如何设置处理时间??
  • 处理时间是什么意思?测试将运行多长时间?如果您使用 NUnit (nunit.org/index.php?p=maxtime&r=2.6.3),则可以使用 MaxTimeAttribute,但这意味着测试总是会失败。或者你可以在它周围放一些代码循环x次然后结束循环。
  • 哦~是的。这就是我想要的。谢谢!
  • 很高兴为您提供帮助! :) 有关此实现的任何问题,请随时提出,我会尽力提供帮助。
  • Jamie,我不知道如何使用 '[FindsBy(How = How.xPath, Using = "xpathToIdentifyAllLinks"]' 这部分。你能给我举个例子吗??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-15
  • 1970-01-01
  • 2012-02-13
  • 2023-03-08
  • 2020-05-12
  • 2013-06-03
相关资源
最近更新 更多