【问题标题】:Random clicks on page for testing purposes出于测试目的随机点击页面
【发布时间】:2013-09-05 22:32:16
【问题描述】:

我想测试我的网页以找出任何缺陷(损坏的路径)。我的网站将使用触摸屏界面,检查整个页面区域很重要。关于自动测试网络,我绝对是“白纸”。我的第一个想法是在document 准备好时随机点击页面。我可以想象,如果我们进行这样的自动点击足够长的时间,它将走遍页面上的每条路径。是否可以使用一些不错的 Javascript sn-p 来做到这一点?


我的页面更像是使用 Angular 的 ng-click 定义的可点击区域。不确定这是否会使建议的解决方案变得更加复杂。

【问题讨论】:

  • 在页面上找到所有具有 onclick 属性的链接和元素然后激活它们会更容易。您可能想研究像 Selenium docs.seleniumhq.org 这样的东西。在页面上随机选择要点击的点是一个糟糕的主意,如果它真的是随机的,那么无论运行多长时间都不能保证它会点击所有页面元素。
  • @sushain。验证者没有机会。这不是公共页面。
  • 在Javascript中这样做的问题是同源策略:/
  • @Pherric。我同意。随机是随机的,但可以以某种方式模拟每个地方的触摸......你的意思是搜索 onclick 并构建点击树吗?可能会很好。

标签: javascript html testing angularjs touchscreen


【解决方案1】:

您可以提取页面上的所有链接并单独测试每个链接,而不是随机点击。例如,如果您像这样提取它们:

var links = document.querySelectorAll('a');

for(var i = 0; i < links.length; i++) {
    doSomethingWithThisLink(links[i].href);
}

我的想法是,您可以使用链接调用 AJAX 函数,看看它是否返回 OK :-)

我在这里做了一个小演示:http://jsfiddle.net/33Sz9/

希望这会有所帮助! 仁

【讨论】:

  • 这样做的问题是,如果链接不在同一个域(所有外部链接),AJAX请求会违反JavaScript同源策略,不起作用。
  • 我的页面更像是使用 Angular 的 ng-click 定义的可点击区域。所以不能用那个。
猜你喜欢
  • 2021-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
相关资源
最近更新 更多