因为测试须要,需在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了,如下;