编程语言
首页 > 编程语言> > javascript – 为什么我的selenium测试在没有代码更改后在travis-ci上失败,而它们在本地传递?

javascript – 为什么我的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)

解决方法:

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

Travis-ci是自己成功的受害者,需要increase sleep times between requests来修复构建.

– 编辑 –

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

标签:python,javascript,django,selenium,travis-ci
来源: https://codeday.me/bug/20190703/1371448.html