django - 使用 Selenium : Do I have any dead links? 的 Py/Django 单元测试

标签 django selenium testing python-unittest

据我所知,selenium 无法返回 http 状态代码。 我想要做的是单击页面上的所有特定链接并测试是否有损坏的链接。似乎 unittest 提供了获取状态代码的机制,但 selenium 具有漂亮的 find_element/xpath 函数。 LiveServerTestCase 是我应该查看的内容吗?

这里没有代码。

最佳答案

在 Python 中解析 HTML 并不太难。您可以使用 HTMLParser找到所有 <a hrefs="">像这样的 HTML 字符串/文件中的值

from html.parser import HTMLParser

html = '<html><head><title>Test</title></head><body><h1>Parse me!</h1>'\
       '<a href="http://example.com/"></a></body></html>'

class MyHTMLParser(HTMLParser):
    def handle_starttag(self, tag, attrs):
        attrs = dict(attrs)
        if 'href' in attrs:
            print("Link:", attrs['href'])

parser = MyHTMLParser()
parser.feed(html)

所以,是的,UnitTest 似乎是可以使用的工具。

关于django - 使用 Selenium : Do I have any dead links? 的 Py/Django 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36739838/

相关文章:

django - 如何在 Sublime Text 中格式化 django 模板

python - Django:如何调用 ModelAdmin.save_model()

database - 微软演示数据库版权,开源演示数据库?

python - 数据库优先 Django 模型

django - 在表单上设置Django非字段错误的样式

java - Webdriver - 与远程浏览器通信时出错

java - 如何使用 selenium webdriver 在同一浏览器的另一个选项卡上打开 url?

html - 使用 text() 的 XPath 定位元素不起作用

mysql - 我可以使用 Selenium IDE 测试事务是否已添加到数据库中吗?

testing - 有没有办法在终端中显示所有自定义步骤定义的列表?