zoukankan      html  css  js  c++  java
  • 安装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分钟左右

  • 相关阅读:
    他是里程碑式人物,历经18载风吹雨打依然“笑傲江湖”
    做“柜子”生意,英语专业的她为什么这么执着
    只因他的一个建议,搜狐就起死回生了?
    matlab画图(一)
    matlab画图(一)
    Android使用BroadCastRecevier广播实现接收短信,并利用Toast弹出显示内容
    Android使用BroadCastRecevier广播实现接收短信,并利用Toast弹出显示内容
    Android使用BroadCastRecevier广播实现接收短信,并利用Toast弹出显示内容
    Android使用BroadCastRecevier广播实现接收短信,并利用Toast弹出显示内容
    系统集成项目管理工程师考试要求
  • 原文地址:https://www.cnblogs.com/loveniko/p/12784848.html
Copyright © 2011-2022 走看看