robotframework-autoitlibrary离线安装
由于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离线安装的更多相关文章
- 离线安装Superset 0.37
上文提到了Superset 0.37的在线安装方式,只需要更新pip,然后pip install就可以了.但是在生产环境中,特别是内网环境中,很多时候是没有外网的,这时候就需要采取离线安装的方式. 本 ...
- SharePoint 2016 必备组件离线安装介绍
前言 SharePoint 必备组件安装,一直以来都是SharePoint安装过程中的最大的坑,尤其是不能联网的服务器.博主在这里简单介绍一下离线安装过程,并附组件包下载以及安装命令,并且在windo ...
- MYSQL离线安装
由于MySQL的广泛应用,MySQL的安装也就成了大家经常会碰到的问题.并且由于不是所有机器都可连接外网,所以MySQL的离线安装显得比较重要.而本文旨在介绍CentOS6.6下离线安装MySQL. ...
- VS2010+Qt5.4.0 环境搭建(离线安装)
原创作者:http://blog.csdn.net/solomon1558/article/details/44084969 前言 因项目需要Qt开发GUI,我根据网上资料及自己的经验整理了搭建vs2 ...
- 离线安装 Python 2.7, paramiko 和 tornado
无非就是离线安装, 步骤比较繁琐, 记录一下. 需求很简单, 一个离线安装的 Python, 能跑 tornado 和 paramiko 1. 离线安装 Python 2.7 .tgz cd Pyth ...
- npm包与gem包--在线&离线安装
目录 NPM 在线 离线 GEM 在线 离线 NPM NPM,即为Node的包管理工具,官网为 https://www.npmjs.com/,我们可以在站内搜索所需要的NPM包,了解相关的使用规则 安 ...
- Windows 8 下离线安装。net Framework 3.5
Windows 8 下安装.net Framework 3.5 1)可以将直接双击ISO (或放入光盘/U盘)(安装文件在F盘) 2)使用管理员权限运行命令行程序 3)dism.exe /online ...
- Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)
Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...
- nexus离线安装索引及一些问题
安装私服~~~ 整体流程: 服务器安装私服 配置私服(主要是安装索引) 本地maven配置指向私服 安装私服 win & linux 网上教程很多,不在阐述: 配置私服(及安装index) 1 ...
- Win8.1离线安装.NET3.5
Win8.1离线安装.NET3.5 dism.exe /online /enable-feature /featurename:NetFX3 /Source:H:\sources\sxs 其中H为盘符 ...
随机推荐
- 关于Windows操作系统重定向
在用C++做一个文件遍历的时候发现,当我遍历C:\Windows\system32文件夹时,获取到的文件数目和实际总是对不上.在通过他人帮助后了解到了重定向这个概念,我百度了一下,下面为粘贴内容. S ...
- Ueditor Version 1.4.3.3 SSRF
点以前挖的洞.Ueditor是支持获取远程图片,较为经典的进行限制url请求,但是可以通过DNS重绑定绕过其验证. 代码分析 一般请求的url如下,其中source为数组,值为图片地址: /edito ...
- Java-多态(上)
什么是多态 同一方法可以根据发送对象的不同而采取多种不同的行为方式 一个对象实际类型是确定的 但指向其引用类型却有很多 注意事项 多态是方法的多态 属性没有多态 父类和子类 有联系 类型转换异常 Cl ...
- 分布式锁Redission
Redisson 作为分布式锁 官方文档:https://github.com/redisson/redisson/wiki 引入依赖 <dependency> <groupId&g ...
- Go语言核心36讲(Go语言基础知识二)--学习笔记
02 | 命令源码文件 我们已经知道,环境变量 GOPATH 指向的是一个或多个工作区,每个工作区中都会有以代码包为基本组织形式的源码文件. 这里的源码文件又分为三种,即:命令源码文件.库源码文件和测 ...
- hdu3001(三进制状压)
题目大意: 现在给你一个有n个点和m条边的图,每一条边都有一个费用,每个点不能经过超过两次,求所有点至少遍历一次的最小费用 其中n<=10 m没有明确限制(肯定不会超过1e5) 一看到这个数据范 ...
- 函数返回值为 const 指针、const 引用
函数返回值为 const 指针,可以使得外部在得到这个指针后,不能修改其指向的内容.返回值为 const 引用同理. class CString { private: char* str; publi ...
- python flask1
以这个服务端代码为例,简单了解一下flask的运用. 1.app = Flask(__name__)记住就好了 2.@app.route("/")记住就好了:注意括号里的是调用这个 ...
- 谈谈BEM规范(含代码)
css规范之BEM规范 前言 引用一句经典名言在编程的世界里其中一件最难的事情就是命名,不管是设计到编程语言还是标记语言都会有命名的需求.今天聊的就是关于css的命名规范的发展过程以及演变. 命名的发 ...
- [HNOI2009]双递增序列(洛谷P4728)+小烈送菜(内部训练题)——奇妙的dp
博主学习本题的经过嘤嘤嘤: 7.22 : 听学长讲(一知半解)--自己推(推不出来)--网上看题解--以为自己会了(网上题解是错的)--发现错误以后又自己推(没推出来)--给学长发邮件--得到正确解法 ...