为什么我的selenium测试在没有代码更改后在travis-ci上失败,而它们在本地传递?

时间:2013-02-14 11:20:22

标签: javascript python django selenium travis-ci

我很难尝试调试本地通过的硒测试而不是travis。

根据travis构建日志,它在构建#311处传递,但在构建#312时开始失败,显然是因为提交e6ee7de08800...7617088b4ba6 - 仅包含新的区域设置(.po)文件和版本颠簸。

但是硒测试在当地通过。你可以尝试一下:

AUTOCOMPLETE_LIGHT_VERSION="master"
CITIES_LIGHT_VERSION="master"

rm -rf autocomplete_light_env/

virtualenv autocomplete_light_env
source autocomplete_light_env/bin/activate
pip install selenium
pip install -e git+git://github.com/yourlabs/django-cities-light.git@$CITIES_LIGHT_VERSION#egg=cities_light
pip install -e git+git://github.com/yourlabs/django-autocomplete-light.git@$AUTOCOMPLETE_LIGHT_VERSION#egg=autocomplete_light
cd autocomplete_light_env/src/autocomplete-light/test_project
pip install -r requirements.txt
./manage.py test autocomplete_light

它将输出如下内容:

----------------------------------------------------------------------
Ran 49 tests in 22.990s

OK
Destroying test database for alias 'default'...

也许travis-ci有问题?我不知道。欢迎任何帮助B)

1 个答案:

答案 0 :(得分:2)

因为django selenium测试使用多线程,所以webserver和测试运行是异步运行。

Travis-ci是自己成功的牺牲品,需要increase sleep times between requests来修复构建。

- 编辑 -

我遇到了与django-session-security 2.0.0相同的问题,但我找到了interresting pattern that resists to travis。基本上,“等待”发生的事情而不是“睡觉然后期待”。