无法从Jenkins运行nosetests,错误:ImportError:没有名为的模块

时间:2018-03-30 14:29:48

标签: python shell jenkins appium nose

我想在本地运行Jenkins的Python测试用例。我有一个shell脚本,可以从Mac上的终端执行:

$ cat script.sh 
#!/bin/bash
appium &
sleep 10s
cd /Users/<user>/eddie-qa/automation
nosetests -s --tc-file=/Users/<user>/eddie-qa/automation/mobile_automation/configs/local_config_android_galaxy_6_0.py --tc-format python mobile_automation.tests.login_logout.tests_login_logout:TestLogin.test_05_incorrect_username_login

但是当我使用相同的脚本从Jenkins运行它时:

Jenkins build config

它返回错误: ImportError: No module named mobile_automation.configs.devices

我的文件local_config_android_galaxy_6_0.py以这些行开头:

from mobile_automation.configs.devices import desired_caps global config config = {}

并在devices.py代码中以:

开头
global desired_caps

我不确定为什么会失败。 如果我在没有--tc-file=/Users/<user>/eddie-qa/automation/mobile_automation/configs/local_config_android_galaxy_6_0.py的情况下执行脚本,那么它可以工作。

项目结构:

Python structure

如果有人有想法,请告诉我。

其他信息:

  • Nosetests:/ usr / local / bin / nosetests
  • Appium:v1.7.2
  • Jenkins:在http://localhost:8080/
  • 上运行
  • Mac:High Sierra,v.10.13.3

0 个答案:

没有答案