pytest+allure+jenkins+git配置过程问题记录

问题1:安装allure和jenkins都报了相同的错

brew install jenkins 

brew install allure

==> Installing subversion dependency: apr

fatal: not in a git directory

Error: Command failed with exit 128: git

解决

1、执行brew -v

2、然后 分别执行实际控制台上边打印出来的命令(而不是直接复制网上的,也不要直接复制下边的)

git config --global --add safe.directory /opt/homebrew/Library/Taps/hombrew/homebrew-core

git config --global --add safe.directory /opt/homebrew/Library/Taps/hombrew/homebrew-cask

问题2:jenkins配置allure时安装目录怎么看?

解决:

1、命令行输入which allure,可以查看到程序启动文件的位置

/usr/local/bin/allure

2、cd到/usr/local/bin/,ls -l看allure映射的路径

lrwxr-xr-x  1 lj_fei94  admin        34 May 18 04:18 allure -> ../Cellar/allure/2.22.0/bin/allure

后边的/usr/local/Cellar/allure/2.22.0便是安装目录,放到“jenkins—系统管理—全局工具配置—Allure Commandline” 中

问题3:main.py怎么配置pytest参数和allure命令

解决:

在main.py文件中配置:

if __name__ == '__main__':
pytest.main(['-vs', '--alluredir=./allure-results', '--baseUrl=https://www.baidu.com'])
os.system(r"rm -rf ./allure-report")
os.system(r"allure generate ./allure-results -o ./allure-report --clean")

注意:命令行执行时是pytest -vs --alluredir ./initdata --baseUrl https://www.baidu.com,而main函数里是“=”不是空格,否则报错

问题4:执行结果有些warning怎么忽略

解决:在pytest.ini文件中配置addopts = -p no:warnings

问题5:在pycharm中可以执行pytest,在terminal终端执行pytest命令却说找不到

解决:pip3安装pytest时只是安装到python,不会配置成系统命令,要命令行执行有两种方式:在pycharm的python 解释器中重装一遍;另一种简洁的办法,用python3 -m pytest命令来执行。

问题6:怎么一键部署所依赖的插件和库?

解决:pip install -r requirements.txt

requirements.txt文件格式为:

PyYAML==6.0
allure-pytest==2.13.2
jsonpath==0.82
pyhamcrest==2.0.4
pytest==7.3.1
pytest-ordering==0.6
pytest-xdist==3.3.0
pytest-html==3.2.0
pytest-rerunfailures==11.1.2
requests==2.30.0
requests-toolbelt==1.0.0

问题7:通过命令执行构建任务时报引用模块错误

报错信息:

ImportError while importing test module '/Users/lj_fei94/.jenkins/workspace/apitest_bypytest/testcases/testParserData.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../../../Library/Python/3.9/lib/python/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
../../../Library/Python/3.9/lib/python/site-packages/_pytest/pathlib.py:564: in import_path
    importlib.import_module(module_name)
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1030: in _gcd_import
    ???
<frozen importlib._bootstrap>:1007: in _find_and_load
    ???
<frozen importlib._bootstrap>:986: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:680: in _load_unlocked
    ???
../../../Library/Python/3.9/lib/python/site-packages/_pytest/assertion/rewrite.py:172: in exec_module
    exec(co, module.__dict__)
testcases/testParserData.py:7: in <module>
    from utils.request_handler import request_handler
utils/request_handler.py:1: in <module>
    import requests
../../../Library/Python/3.9/lib/python/site-packages/requests/__init__.py:43: in <module>
    import urllib3
../../../Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:38: in <module>
    raise ImportError(
E   ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with LibreSSL 2.8.3. See: https://github.com/urllib3/urllib3/issues/2168

解决:

在requirements.txt文件中指定urllib3版本:urllib3 == 1.25.11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值