问题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