安装RF问题总结

一、安装RF遇到的坑

1、所有安装目录都不要有空格和中文
2、安装AutoItLibrary

①安装顺序为:pywin --> AutoItLibrary --> AutoIt3

②解压安装AutoItLibrary一定要用管理员模式

③安装/重装遇到:subprocess.CalledProcessError:Command‘%SYSTEMROOT%system32 egsvr32.exe*LibAutoItX3.dll’returned non-zero exit status 5

请使用管理员模式打开命令行安装。

安装/重装遇到:

报subprocess错误的

可以找到setup.py 内注释70行位置

subprocess.check_all(cmd,shell=True)subprocess.CalledProcessError(retcode,cmd)

注释后再运行一次setup.py,成功安装后再向命令行注册一下dll文件:

%SYSTEMROOT%system32 egsvr32.exe /S C:Python27Libsite-packagesAutoItLibrar ylibAutoItX3.dll

④卸载AutoItLibrary,除了删除AutoItLibrary文件夹外,还需要找出python和robotframe内残存的AutoItLibrary文件夹并删除,建议用everything搜索

3、打开Ride点击run报错

报错信息为找不到robot.bat,解决方法如下:

①检查python的环境变量是否正确

②检查环境变量ComSpec的值是否正确,正常默认为C:Windowssystem32cmd.exe

二、使用RF遇到的坑

1、关闭RF遇卡死现象

原因:使用Selenium2Library时启用浏览器驱动完毕后,未及时关闭驱动。查看后台进程可看到浏览器驱动在后台残存

解决方案:

①关闭浏览器驱动:Process Close IEDriverServer.exe

②关闭浏览器:Close All Browsers

2、更换PC后运行RF点击坐标不准确

原因:RF中AutoIt2Library中的鼠标坐标都是基于当前显示屏的分辨率,如换台分辨率不一致的机子会导致坐标偏移

解决方案:

①新PC的分辨率设置和旧机子一样

③建议在编写RF时使用相对坐标进行定位,可避免分辨率问题。

3、RF运行过快导致失败

原因:RF运行速度偏快,会出现上一步刚运行完,马上执行下一步,此时PC还没反应过来,所以会导致失败报错。

解决方案:

①建议在关键代码使用等待语句例如Wait Until Page Contains、Wait For Active Window等待事件

②无合适的等待语句时,再使用sleep进行等待

4、浏览器查找不到元素

①检查浏览器设置:包括插件、页面百分比、检查internet选项高级页面关闭增强模式、以及安全页面同时启用保护模式(或者同时禁用保护模式)。

②检查iedeiver.exe版本和selenium版本是否一致,不一致需更新到统一主版本

③检查浏览器是否禁用了autoIt的插件,如有禁用请打开

④检查selenium2Library是否安装正确

⑤检查ie版本,测试期间使用的是ie版本是:11.0.9600.17843

⑥以上步骤检查后依旧无效,请重置浏览器后按第一步操作再试一试。

三、使用关键字遇到的坑

1、Grep File

1)、“[ ]”对Grep File关键字有特殊含义,所以筛选语句含“[ ]”符号时,Grep File会另做处理,导致会匹配不到。

解决方案:

①拿“* *”代替“[ ]”即可

2、Get Active Window Image

1)、使用此关键字,后台最小化窗口截屏会失败,RF会进行报错。

解决方案:

①开启远程桌面进行截屏

②如果是浏览器截屏,可以使用Capture Page Screenshot,需注意此关键字不支持截屏过旧的游览器插件,使用时需验证可不可用

3、Take Screenshot

1)、使用此关键字,后台最小化窗口截屏虽然会成功,RF不会进行报错,但截的图片是全黑的。解决方案:开启远程桌面进行截屏

解决方案:

①开启远程桌面进行截屏

②如果是浏览器截屏,可以使用Capture Page Screenshot,需注意此关键字不支持截屏过旧的游览器插件,使用时需验证可不可用

4、Open Browser

1)、使用此关键字打开不了浏览器

解决方案:

①、检查浏览器驱动是否安装完好,以及注册表是否有注册

5、Input Text

1)、使用此关键字输入字符速度过慢

解决方案:将64位浏览器驱动换成32位浏览器驱动

四、配合jinkins遇到的坑

1、后台截屏时不可最小化远程桌面使用Get Active Window Image关键字,会导致报错

解决方案:

①开启远程桌面进行截屏

②如果是浏览器截屏,可以使用Capture Page Screenshot,需注意此关键字不支持截屏过旧的游览器插件,使用时需验证可不可用

2、后台最小化远程桌面时,不可使用Wait For Active Window、Handle Alert、Win Wait active等等待窗口语句,jinkins处于无桌面状态,所以等待不到窗口,最终会因为等待窗口超时而进行报错。

解决方案:

①将等待窗口语句用sleep语句替代,预估窗口出现的时间即可

2、用例运行时间过长,导致jinkins挂掉

原因:最开始个别用例执行一条需要耗费1~2个小时,在这个期间,都没有向控制台输出命令,导致jenkins认为RF “挂掉” ,进而影响到jenkins对此项目的构建,最终可能导致jinkens重启重新构建。

解决方法:拆分用例,保证单条用例的执行时间最长不要超过20分钟。

3、执行用例过程中一直等待,导致jinkins长时间等待,进而影响到jinkens其他项目的构建

原因:RF执行过程一直等待的原因有很多,最常见的是等待某个元素、窗口、接口响应等,一定要对等待事务做一个等待时长的判断,避免RF因等待不到指定元素长时间停留在此用例。本次遇到的等待问题是ie不稳定是会跳出弹窗“internet explorer 已停止工作”和“iederver.exe已停止工作”,前者弹窗不影响RF的执行,后者弹窗则会导致RF一直在等待

解决方法:拆分用例、控制每一个case时长在10分钟左右

原文地址:https://www.cnblogs.com/loveniko/p/12784848.html