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为盘符 ...
随机推荐
- ThreadLocal底层
1. 首先我们来看一下他的使用 public class ThreadLocalTest { public static void main(String[] args) { MyThread thr ...
- Min_25筛 学习小记
前言 为什么叫学习小记呢?因为暂时除了模板题就没有做其他的东西了.(雾 这个东西折磨了我一整天,看得我身不如死,只好结合代码理解题解,差点死在机房.(话说半天综合半天竞赛真是害人不浅) 为了以后忘了再 ...
- 【Java虚拟机10】ClassLoader.getSystemClassLoader()流程简析
前言 学习类加载必然离开不了sun.misc.Launcher这个类和Class.forName()这个方法. 分析ClassLoader.getSystemClassLoader()这个流程可以明白 ...
- Redis:学习笔记-01
Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...
- UltraSoft - Alpha - Postmortem 事后分析
Alpha阶段 Postmortem会议 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 主要是解决DDL提醒功能的问题,定义的比较清楚,对典型用户和典 ...
- BUAA_2020_软件工程_个人项目作业
作业抬头(1') 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人项目作业 我在这个课程的目标是 了解软件工程的技术,掌握工程化开发的能力 这 ...
- 微信小程序 scroll-view 完成上拉加载更多
我们经常在软件客户端上看到这么一个功能,当我们阅读信息浏览到文章的末尾时,通常会加载出更多的信息.比如,我们在简书客户端上浏览推荐文章时,浏览到屏幕的末尾,此时又加载出了另一页的推荐文章,即实现了上拉 ...
- Spring Cloud Alibaba 使用Nacos作为服务注册中心
为什么需要注册中心? 在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就到这里找到服务的地址,进行调用:服务管理,核心是有个服务注册表,心跳机制动态维护 : 服务注册 创建普通Spring ...
- stm32看门狗详细解答,看了觉得一下子明白了很多
一.独立看门狗 STM32 的独立看门狗由内部专门的 40Khz 低速时钟驱动,即使主时钟发生故障,它也仍然有效. 看门狗的原理:单片机系统在外界的干扰下会出现程序跑飞的现象导致出现死循环,看门狗电路 ...
- DMA实现采样数据的直接搬运存储
尝试了下STM32的ADC采样,并利用DMA实现采样数据的直接搬运存储,这样就不用CPU去参与操作了. 找了不少例子参考,ADC和DMA的设置了解了个大概,并直接利用开发板来做一些实验来验证相关的操作 ...