Python 不在 bitBucket CI 上测试 运行

Python Behave tests not running on bitBucket CI

我们有一个简单的 Python 基于行为的测试套件。 运行在本地环境下没问题。

用于运行测试的命令:

pip3 install -r requirements.txt    
behave -D URL=https://api.ourUrl.org/test/shopping

有一个可选的基于 npm 的 Allure 报告生成步骤,但这不是问题的重点。

来自 Bitbucket 的错误跟踪 运行:

Then the shopping service will return HTTP 200 OK status # features/steps/shopping_api.py:34 Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/behave/model.py", line 1329, in run match.run(runner.context) File "/usr/local/lib/python3.7/site-packages/behave/matchers.py", line 98, in run self.func(context, *args, **kwargs) File "features/steps/shipping_api.py", line 78, in step_impl assert context.response.status_code == int(statusCode) AssertionError

Requirement.txt:

astroid==2.3.3
attrs==19.3.0
behave==1.2.6
certifi==2019.11.28
chardet==3.0.4
idna==2.8
isort==4.3.21
lazy-object-proxy==1.4.3
lxml==4.4.2
mccabe==0.6.1
parse==1.14.0
parse-type==0.5.2
Pillow==5.4.1
pylint==2.4.4
pypng==0.0.20
requests==2.22.0
six==1.14.0
tinycss2==0.6.1
transitions==0.6.9
typed-ast==1.4.0
ua-parser==0.8.0
urllib3==1.25.7
webencodings==0.5.1
wrapt==1.11.2
xmlrunner==1.7.7
regex==2020.5.7

我试过在管道上从 pip 切换到 pip3 并且还添加了 regex==2020.5.7 但它没有任何效果。 请告知如何解决这个问题?非常感谢

另请注意,我们正在使用 "re" 匹配器

It runs fine on local environment.

Expected 200 and getting status code -> 403

Yes. All tests are failing. But if I do curl from bitbucket yaml file, directly to endpoint then its returning Success

所以,据我所知:

  1. 不可能有逻辑错误,因为它在本地主机上工作
  2. 不可能出现连接错误,因为它在 bitbucket yaml 文件中的 curl 上工作得很好

如果您所说和所做的一切都是正确的,唯一可能的答案是您可能没有将 Bitbucket 的 IP 地址列入白名单以允许终点

或者,如果您所说的全部或某些事情可能是错误的,那么您可能会在 Bitbucket CI 工作的 OS 上遇到某种逻辑错误或某些支持错误(i.g。尝试在虚拟机中进行测试)。