在软件测试中获取日志的方法如下:
通过ADB命令获取日志
连接设备:使用`adb devices`命令查看设备是否连接成功。
抓取日志:使用`adb logcat`命令抓取日志,并保存到文件中。例如,将日志保存到D盘下的`log.txt`文件中,可以使用以下命令:
```sh
adb logcat -v time > D:/log.txt
```
查看应用包名称:使用`adb shell dumpsys | findstr "mFocusedActivity"`命令查看当前应用包名称。
搜索关键字:在导出的`log.txt`文件中,可以使用关键字搜索应用包名字、crash问题、ANR问题等。例如,搜索ANR问题的命令为:
```sh
adb logcat -s ANR > D:/anr.txt
```
在Linux下查看日志
连接设备:使用`adb shell`命令连接到设备。
查找日志文件:例如,查找`ZKOPCountUtil`应用的日志:
```sh
adb logcat -v tag | grep -i "ZKOPCountUtil"
```
使用正则表达式:可以使用正则表达式查看日志,例如:
```sh
adb logcat -v tag *:E | grep -i "^…ZKO"
```
在Windows下查看日志
使用Notepad++或UE编辑器:直接打开日志文件进行查看。
使用ADB命令:也可以使用ADB命令将日志输出到本地文件,例如:
```sh
adb logcat -v time -d > C:/crash.txt
```
使用第三方工具
ELK Stack:可以实时跟踪日志,进行故障排查和性能优化。
Splunk:用于收集、分析和可视化日志数据。
在测试框架中捕获日志
pytest-log:使用`pytest-log`插件捕获测试函数执行期间的日志记录,例如:
```python
import logging
logger = logging.getLogger(__name__)
def test_calculate_sum(caplog):
result = calculate_sum(3, 5)
assert result == 8
assert "计算 3 + 5 的和" in caplog.text
assert "计算结果: 8" in caplog.text
```
通过以上方法,软件测试人员可以有效地获取和分析日志,从而帮助定位和解决软件中的问题。