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分钟左右

  • 相关阅读:
    Oracle函数如何把符串装换为小写的格式
    Oralce中的synonym同义词
    JS中getYear()的兼容问题
    How to do SSH Tunneling (Port Forwarding)
    所谓深度链接(Deep linking)
    upload size of asp.net
    发一个自动刷网站PV流量的小工具
    解决Visual Studio 2008 下,打开.dbml(LINQ) 文件时,提示"The operation could not be completed." 的问题。
    在资源管理器中使鼠标右键增加一个命令,运行cmd,同时使得当前路径为资源管理器当前的目录
    使用SQL语句获取Sql Server数据库的版本
  • 原文地址:https://www.cnblogs.com/loveniko/p/12784848.html
Copyright © 2011-2022 走看看