因为测试须要,需在Centos下进行liunxGUI软件自动化测试,所以用到了python的Dogtail 库,继而应用Dogtail 的sniff控件获取工具,然而遇到了很多问题记录如下。
1 环境
Centos 7Python3.9.0 Python2.7.5
2 应用Python3装置Dogtail
pip3 install dogtail
- 我这里默认曾经装置好了,如下:
3 gi模块装置
- 输出
sniff
,关上sniff控件辨认工具,然而间接报错
ImportError: No module named 'gi'
- 查阅很多材料说要装置
python-gobject
,所以装置下这个软件
yum install python-gobject
4 pyatspi模块装置
- 装置完后,持续输出
sniff
,又提醒如下:
ModuleNotFoundError: No module named 'pyatspi'
- 依据网友材料,应该是短少了pyatspi,所以装置它,不同的操作系统装置的包名称不一样,如下,这里是centos应用yum装置
# OpenSUSE,您须要装置python-atspizypper in python-atspi# Ubuntu和衍生产品,它是python-pyatspiapt-get install python-pyatspi# RedHat,Fedora和衍生品来说,它是at-spi-pythonyum install at-spi-python
5 批改sniff的python版本
- 好了,以上装置完后,仍然提醒如下,然而明明曾经装置了:
ModuleNotFoundError: No module named 'pyatspi'
- 狐疑是python版本的问题,因为有python2.7.5和python3.9.0,好了批改sniff文件
- 查找到sniff的目录,大家文件,发现应用的是python3.9,改为python2.7
6 装置pip(python2)
- 以上批改完后,持续输出sniff,然而还是报错,提醒:
没有 dogtail.config这个模块
- 剖析起因是咱们之前装置dogtail的时候,应用的是pip3装置的,即环境装置到了python3里边,然而咱们以上步骤曾经把sniff的环境改为python2.7.5了,然而python2里咱们是没有装置dogtail的,所以装置dogtail
- 输出
pip install dogtail
,然而提醒没有pip这个bash,即没有pip这个命令,这里的pip指的是python2环境的; - 那就装置pip2,命令如下:
yum install python-pip
## 7 批改pip的命令解析器为python2 - 以上执行完后,输出
pip
,还是提醒没有这个文件或目录,可是曾经装置好了呀 - 批改
/usr/bin/pip
,把首行中的python3改为python2.7 - 再次输出
pip
,OK了
8 python2环境装置dogtail
- 输出
pip install dogtail
,如下:
9 再次启动sniff
- 输出
sniff
,这下OK了,如下;