由于AutoItLibrary需要依赖pywin32库。所以要使用AutoItLibrary必须要先安装好pywin32

1、pywin32下载地址安装:http://sourceforge.net/projects/pywin32/files/pywin32/

AutoItLibrary下载地址:http://code.google.com/p/robotframework-autoitlibrary/(注意:如果使用命令安装导包不成功就直接下载并去到对应setup.py目录执行python setup.py install进行安装 )
2、64位的机器:除了安装上面2个之外,还不得不再安装一个AutoItV3(最新的官网下载地址:http://www.autoitscript.com/site/autoit-news/autoit-v3-3-10-0-released/ ,如果以后有更新请从官网首页自行下载)。一般情况下装完这个就能用了。

今天需要在win7 64位系统下安装autoitlibrary库,起初安装好了robotframework框架,导入selenium2lib也没有问题,之后开始安装autoitlibrary库。
从下载地址:http://download.csdn.net/detail/liuheng123456/6236097 中下载AutoItLibrary-1.1_x64的安装压缩包。
解压压缩包后,在dos命令下,进入到解压的AutoItLibrary目录,如:把 AutoItLibrary-1.1_x64解压到E盘下,就执行cd E:\AutoItLibrary-1.1_x64。
执行python setup.py install 安装AutoItLibrary到python27的lib库下面。
利用robotframework导入AutoItLibrary库,始终展现为错误信息,无法正常导入。
上网查询资料发现,win7系统下仍旧需要安装autoit程序,robotframework才能正常导入AutoItLibrary库。
查找autoit下载地址:
https://www.autoitscript.com/site/autoit/downloads/
下载auto_it_3.3.12.exe最新版本安装。
 
安装完成后仍旧不能正常导入AutoItLibrary库,郁闷中,再次查找资料,发现需要重新注册一下autoit的AutoItX3.dll文件才行。
利用cmd进入AutoItX3.dll文件所在路径,运行系统注销和系统注册命令:
c:\Python27\Lib\site-packages\AutoItLibrary\lib>regsvr32 /u AutoItX3.dll
c:\Python27\Lib\site-packages\AutoItLibrary\lib>regsvr32 /s AutoItX3.dll
 
运行成功后,重新利用robotframework导入AutoItLibrary库,成功导入。

在安装 AutoItLibrary 用于Robot Framework 时遇到过几个问题,记录一下解决方法。

前提:必须使用管理员权限运行cmd。

一、报错信息

这其中有两个错误要解决:

第一个报错

Don't think we need to unregister the old one...

这是因为检测到:在python的目录下已有该 lib

解决方法:
如我的目录是D:\Program Files (x86)\Python27\Lib\site-packages\AutoItLibrary,那就需要把这个目录下的文件清空。

第二个报错

Traceback (most recent call last):
File "setup.py", line 70, in <module>
subprocess.check_call(cmd, shell=True)
File "D:\Program Files (x86)\Python27\lib\subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '%SYSTEMROOT%\system32\regsvr32.exe /S D:\Program Files (x86)
\Python27\Lib\site-packages\AutoItLibrary\lib\AutoItX3.dll' returned non-zero exit status 3

关于subprocess.check_call这个函数看了下这篇文章:
https://blog.csdn.net/liushuibufuqin/article/details/78892831

解决方法(忘了当时在哪里查到的了,方法可行,但是未必科学):

1、到下载下来的AutoItLibrary-1.1文件夹下,打开setup.py文件;
2、注释掉第70行(行数可能有偏差)的subprocess.check_call(cmd, shell=True);
3、注释掉第81行(行数可能有偏差)的subprocess.check_call(cmd)

二、终极原因

以上问题解决后,AutoItLibray 总算安装成功,但是却又发现了更诡异的事情:

安装的库并不完整!!!

在Robot Framework 中导入AutoItLibray 准备使用了,却发现使用 click button 之类的关键字不生效(颜色都没标识)。于是,使用 F5 查看关键字,确实不完整,有 open 、close 之类的关键字,却没有 click 等等。

检查了:
1、AutoItLibray 确实已导入成功,重新导了N次都还是原状;
2、pywin32 与 python 版本确实是对应的,当时安装,都选择了32位,AutoIt 选择的也是x86版本;

反复查找相关文档,仍无果,所以只能决定重新安装,而且选择64位的python(电脑本就是64位,只是当时怕 python 版本与 pywin32 不兼容才选择安装32位的 python)。另外,忘了在哪处看到安装目录不要有空格,联想到当时 python 安装在Program Files (x86)目录下,可能也有这个原因,所以在重装 python 时选择了没有空格的目录。重装后,以上两个问题好像并没有再出现(不太记得了),AutoItLibray 也终于能正常使用。

所以以上发现的问题很有可能都是 python 的安装本就不正确而导致。因此,要一定注意 python 的版本与安装目录。

robotframework-autoitlibrary离线安装的更多相关文章

  1. 离线安装Superset 0.37

    上文提到了Superset 0.37的在线安装方式,只需要更新pip,然后pip install就可以了.但是在生产环境中,特别是内网环境中,很多时候是没有外网的,这时候就需要采取离线安装的方式. 本 ...

  2. SharePoint 2016 必备组件离线安装介绍

    前言 SharePoint 必备组件安装,一直以来都是SharePoint安装过程中的最大的坑,尤其是不能联网的服务器.博主在这里简单介绍一下离线安装过程,并附组件包下载以及安装命令,并且在windo ...

  3. MYSQL离线安装

    由于MySQL的广泛应用,MySQL的安装也就成了大家经常会碰到的问题.并且由于不是所有机器都可连接外网,所以MySQL的离线安装显得比较重要.而本文旨在介绍CentOS6.6下离线安装MySQL. ...

  4. VS2010+Qt5.4.0 环境搭建(离线安装)

    原创作者:http://blog.csdn.net/solomon1558/article/details/44084969 前言 因项目需要Qt开发GUI,我根据网上资料及自己的经验整理了搭建vs2 ...

  5. 离线安装 Python 2.7, paramiko 和 tornado

    无非就是离线安装, 步骤比较繁琐, 记录一下. 需求很简单, 一个离线安装的 Python, 能跑 tornado 和 paramiko 1. 离线安装 Python 2.7 .tgz cd Pyth ...

  6. npm包与gem包--在线&离线安装

    目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安 ...

  7. Windows 8 下离线安装。net Framework 3.5

    Windows 8 下安装.net Framework 3.5 1)可以将直接双击ISO (或放入光盘/U盘)(安装文件在F盘) 2)使用管理员权限运行命令行程序 3)dism.exe /online ...

  8. Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)

      Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...

  9. nexus离线安装索引及一些问题

    安装私服~~~ 整体流程: 服务器安装私服 配置私服(主要是安装索引) 本地maven配置指向私服 安装私服 win & linux 网上教程很多,不在阐述: 配置私服(及安装index) 1 ...

  10. Win8.1离线安装.NET3.5

    Win8.1离线安装.NET3.5 dism.exe /online /enable-feature /featurename:NetFX3 /Source:H:\sources\sxs 其中H为盘符 ...

随机推荐

  1. pymysql链接时,密码含有特殊符号。

    类如含有@之类的特殊符号,在链接数据库时,需要提前url转码,不然会报密码错误. python3/2分别引用是同样的第三方库,但是引用方式不同 python2 from urllib import q ...

  2. K8ssandra入门-详细记录在Linux上部署K8ssandra到Kubernetes

    1 什么是K8ssandra Cassandra是一款非常优秀的开源的分布式NoSQL数据库,被许多优秀的大公司采用,具有高可用.弹性扩展.性能好等特点. 正应Cassandra的优势,我们经常需要在 ...

  3. 演员 Or 开发者的自我修养

    演员 Or 开发者的自我修养 时至今日,我都还是很怀念小时候与一群玩伴编写剧本.拍摄,那时候的我还有一个远大的"白日梦"--成为一名导演.很可惜,终究是"白日梦" ...

  4. golang []byte和string的高性能转换

    golang []byte和string的高性能转换 在fasthttp的最佳实践中有这么一句话: Avoid conversion between []byte and string, since ...

  5. 洛谷2900 [USACO08MAR]土地征用Land Acquisition (斜率优化+dp)

    自闭的一批....为什么斜率优化能这么自闭. 首先看到这个题的第一想法一定是按照一个维度进行排序. 那我们不妨直接按照\(h_i\)排序. 我们令\(dp[i]\)表示到了第\(i\)个矩形的答案是多 ...

  6. HCIP-RSTP

    端口角色 根端口(RP): 非根桥收到最优的BPDU配置信息的端口为根端口,(到根桥开销最小的端口),根桥没有根端口. 指定端口(DP): 两非根交换机之间连接的两个端口必有一个为指定端口,比较两个非 ...

  7. 分享一份软件测试项目实战(web+app+h5+小程序)

    大家好,我是谭叔. 本次,谭叔再度出马,给大家找了一个非常适合练手的软件测试项目,此项目涵盖web端.app端.h5端.小程序端,可以说非常之全面. 缘起 在这之前,谭叔已经推出了九套实战教程. 但是 ...

  8. 热身 for computer industry

    项目 内容 作业属于 班级博客 作业要求 作业要求 个人课程目标 掌握软件工程基础知识 具体有助方面 个人认知与规划 其他参考文献 博客Ⅰ 博客 Ⅱ 选择计算机 你为什么选择计算机专业?你认为你的条件 ...

  9. 设计的MOS管三极管简单开关电路驱动能力不够2

    设计的MOS管三极管简单开关电路驱动能力不够 [复制链接]     lxizj 9 主题 454 帖子 1783 积分 四级会员(40) 积分 1783 发消息 16#   发表于 2012-4-23 ...

  10. MOSFET管驱动电路的设计

    https://wenku.baidu.com/view/ae727da5caaedd3382c4d3b9.html?mark_pay_doc=2&mark_rec_page=1&ma ...