由于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. ASP.NET Core 学习笔记 第二篇 依赖注入

    前言 ASP.NET Core 应用在启动过程中会依赖各种组件提供服务,而这些组件会以接口的形式标准化,这些组件这就是我们所说的服务,ASP.NET Core框架建立在一个底层的依赖注入框架之上,它使 ...

  2. JVM探针与字节码技术

    JVM探针是自jdk1.5以来,由虚拟机提供的一套监控类加载器和符合虚拟机规范的代理接口,结合字节码指令能够让开发者实现无侵入的监控功能.如:监控生产环境中的函数调用情况或动态增加日志输出等等.虽然在 ...

  3. 解决vue项目中遇到父组件的按钮或操作控制重新挂载子组件但是子组件却无效果的情况

    在vue项目中终会遇到需要父组件的按钮或操作控制重新挂载子组件的需求,我在新项目中就遇到这种需求.真实场景是父组件的早,中,晚三个按钮(代表三个时间段)来控制子组件的table表格列的动态加载. 子组 ...

  4. 小白自制Linux开发板 番外篇 一 modprobe加载驱动问题(转载整理)

    使用modprobe加载驱动 转载地址:https://blog.csdn.net/qq_39101111/article/details/78773362 前面我们提到,modprobe并不需要指定 ...

  5. PTA数据结构 习题3.6 一元多项式的乘法与加法运算 (20分)

    一元多项式的乘法与加法运算 https://pintia.cn/problem-sets/434/problems/5865 设计函数分别求两个一元多项式的乘积与和. 时间限制:200 ms 内存限制 ...

  6. C# 提取PDF中的表格

    本文介绍在C#程序中(附VB.NET代码)提取PDF中的表格的方法,调用Spire.PDF for .NET提供的提取表格的类以及方法等来获取表格单元格中的文本内容:代码内容中涉及到的主要类及方法归纳 ...

  7. 为代码编写稳定的单元测试 [Go]

    为代码编写稳定的单元测试 本文档配套代码仓库地址: https://github.com/liweiforeveryoung/curd_demo 配合 git checkout 出指定 commit ...

  8. Java中的函数式编程(二)函数式接口Functional Interface

    写在前面 前面说过,判断一门语言是否支持函数式编程,一个重要的判断标准就是:它是否将函数看做是"第一等公民(first-class citizens)".函数是"第一等公 ...

  9. 【Spring】IoC容器 - 依赖查找

    前言 上一篇文章已经学习了[IoC的主要实现策略]有2种: 1.依赖查找 2.依赖注入 这里稍加详细的介绍一下依赖查找 1.依赖查找的方式 依赖查找的方式可以以多种维度来划分: 1.按名称/类型/注解 ...

  10. Stream中的Pipeline理解

    使用Stream已经快3年了,但是从未真正深入研究过Stream的底层实现. 今天开始把最近学到的Stream原理记录一下. 本篇文章简单描述一下自己对pipeline的理解. 基于下面一段代码: p ...