如何验证页面上的所有链接是否为黑盒测试程序

时间:2010-08-03 15:05:08

标签: python testing black-box

如果所有网页都有指定的链接,即可。我使用python单元测试和selenium IDE来记录需要测试的操作。 所以我的问题是我可以在循环中验证链接还是我需要自己尝试每个链接? 我试图用__iter__做到这一点,但它没有得到任何接近,可能有一个原因,我在oop很差,但我仍然认为我必须有另一种测试链接的方法,而不是点击它们逐个录制。

4 个答案:

答案 0 :(得分:1)

虽然该工具位于Perl中,您是否已查看linklint?它是一个完全符合您需求的工具。它将解析HTML文档中的链接,并告诉您它们什么时候坏了。

如果您尝试从Python脚本自动执行此操作,则需要将其作为子流程运行并获取结果,但我认为它可以为您提供所需的内容。

答案 1 :(得分:1)

我只会使用标准shell命令:

  • 您可以use wget to detect broken links
  • 如果您使用wget下载页面,则可以 然后使用grep --files-without-match扫描生成的文件以查找这些文件 没有联系链接。

如果您使用的是Windows,则可以安装cygwin或安装win32 ports这些工具。

编辑:从上面的use wget to detect broken links链接嵌入信息:

  

当我们发布一个公共网站时,总是一个好主意来运行一个   蜘蛛就可以了,这样我们就可以查看破页和坏网址。   WGET有一个递归下载命令,并与--spider选项混合使用   它只会抓取网站。

1) Download WGET

    Mac:
    http://www.statusq.org/archives/2008/07/30/1954/
    Or use macports and download wget.

    Windows:
    http://gnuwin32.sourceforge.net/packages/wget.htm

    Linux:
    Comes built in
    ----------------------------------------

2) In your console / terminal, run (without the $):

    $ wget --spider -r -o log.txt http://yourdomain.com

3) After that just locate you "log.txt" file and at the very bottom
 of the file will be a list of broken links, how many links there 
are, etc.

答案 2 :(得分:0)

究竟是什么“测试链接”?

如果这意味着他们导致非4xx URI,我担心你必须访问它们。

对于给定链接的存在(如“联系人”),您可以使用xpath查找它们。

答案 3 :(得分:0)

你可以(作为另一种选择),使用BeautifulSoup解析页面上的链接,并尝试通过urllib2检索它们。