【问题标题】:How to run test in parallel using Selenium(LiveServerTestCase) in django project?如何在 django 项目中使用 Selenium(LiveServerTestCase) 并行运行测试?
【发布时间】:2013-05-09 05:51:05
【问题描述】:

问题来了:

我有一个继承自 LiveServerTestCase 的类。这个类模仿一些用户(客户端)的工作——去网站,填写一些字段,添加文件。 我需要模仿多用户的工作,所以我需要并行运行这个类(函数)。

有什么方法可以做到这一点,只使用标准 python 的东西,如线程、进程和 Selenium-2?如果没有,请写一些您的建议的简单示例。

谢谢!

【问题讨论】:

  • 你可以在你的问题中添加任何你尝试过但没有成功的内容。

标签: django testing selenium parallel-processing


【解决方案1】:

就个人而言,我通常根据multi-mechanizelocust 等工具区分功能(系统)django 测试和性能/负载/多用户测试。

您可以尝试以下方法。

Nose 可以在parallel 中运行您的测试(另请参阅django_nose)。但是,您可能会遇到几个问题:

  • 只要每个LiveServerTestCaselocalhost:port 上打开浏览器,您应该给它一个要使用的端口列表以避免This port is already in use 错误:

    ./manage.py test --liveserver=localhost:8082,8090-8100,9000-9200,7041
    
  • 您的LiveServerTestCases 创建和截断数据库表可能会导致您的测试失败(但行为可以更改)

另见:

【讨论】: