Robot Framwork问题和解决方法

1.解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题
解决方案:
------1)如果你的Jenkins安装为windows服务,也就是下载的是.msi版本,如下解决
1)修改jenkins.xml如下
<arguments>-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080</arguments>  
2)重启jenkins

-----2)Jenkins 为war包通过java命令运行,如下解决
1)关闭jenkins
2)通过如下命令运行Jenkins
java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar E:\jk\jenkins.war  

-----3)192.168.30.231:8080/script下执行:---------------------------------------------是目前最有效的解决方式
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

2.修改jenkins端口
java -jar jenkins.war --httpPort=1080

3.jenkins插件下载地址
http://ftp.yz.yamagata-u.ac.jp/pub/misc/jenkins/plugins/

4.定义浏览器的启动和关闭及引用
1)在testcase中Setup栏中输入调用启动浏览器命令:
Run Keywords | Log | 启动浏览器... | AND | 启动浏览器 | AND | Log | 启动成功!!!
2)在testcase中Teardown栏中输入调用关闭浏览器命令:
关闭浏览器:Run Keywords | Log | 关闭浏览器... | AND | 关闭浏览器 | AND | Log | 关闭成功!!!

5.解决'Process leaked file descriptors. See http://wiki.jenkins-ci.org/display/JE NKINS/Spawning+proces错误的方案:
在jenkins脚本中执行:-Dhudson.util.ProcessTree.disable=true

6.编写python脚本时,报错:IndentationError:expected an indented block解决方法:
在编译时会出现这样的错IndentationError:expected an indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
例如:往往有的人会疑问:我根本就没缩进怎么还是错,不对,该缩进的地方就要缩进,不缩进反而会出错,,比如:
if xxxxxx:
(空格)xxxxx
或者
def xxxxxx:
(空格)xxxxx
还有
for xxxxxx:
(空格)xxxxx
一句话 有冒号的下一行往往要缩进,该缩进就缩进

7.RFS运行中遇到“[ WARN ] Keyword 'Capture Page Screenshot' could not be run on failure: No browser is open”解决方法
打开Selenium2Library安装目录:C:\Python27\Lib\site-packages\robotframework_selenium2library-1.7.4-py2.7.egg\Selenium2Library\utils,进入utils目录,修改browsercache.py文件,将close(self)方法中的语句“browser.quit()”
修改为“browser.close()”。即可解决此问题。

8.jenkins里跑selenium webdriver,firefox浏览器不能打开
分析:如果是在jenkins里,选择 "execute windows batch command",配置 "python webtest.py"跑测试,这时候就会有问题,firefox浏览器并不会打开,但是后台有进程,webtest会在后台运行,但运行起来总是会有点问题

解决方法:
使用管理员权限 执行 sc delete jenkins 删除 Windows service
改用 java -jar jenkins.war,启动jenkins服务后,(有可能需要重新启动计算机后在command执行java -jar jenkins.war)在执行既可以解决

9.UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal not in range(128)  

Something went wrong during the installation.See the error message above.  

建议不要对RFS报告进行汉化,汉化后也会报此类问题。
解决方法:
打开C:\Python27\Lib下的 mimetypes.py 文件,在这行‘default_encoding = sys.getdefaultencoding()’前面添加三行:
if sys.getdefaultencoding() != 'gbk':  
reload(sys)  
sys.setdefaultencoding('gbk')  

10.在DOS窗口下执行RFS自定义存放报告的路径:
格式:pybot.bat -d 存放日志和报告的路径  执行RFS脚本的路径

11.切换到新的网页的关键字 :select window   新打开的直接用new就好   回到主窗口是main
                        switch_to_alert() 
execute javascript window.document.getElementById("logBegintime").value="2016-05-18" #日历起始内容   
 
直接输入文字进行文字定位://a[contains(text(),'末页')]

js执行     window.scrollTo(0,1100)  页面就跳到最下面去了

get xpath count  模糊查

12.#控制滚动条js,最下,最上,最后
 js="var q=document.documentElement.scrollTop=10000"
 js_1="var q=document.documentElement.scrollTop=0"
 js_2="var q=document.getElementById('gview_gridTable').scrollLeft=1000"

13.模拟键盘输入enter:
press key  locator  id 
id = \\13 或者\\10  

execute_script(js)

16.模态框处理
*** Settings ***
Library           Selenium2Library

*** Test Cases ***
excample
    [Tags]    gggg
    open browser    http://www.robotframework.net/?/page/showModalDialogA    ff    #打开页面
    sleep    2s
    Execute Javascript    setTimeout(function(){document.getElementById("aa").click()},100)    \    #异步执行js来打开模态窗口
    sleep    2s
    select window    title=showModalDialogB    #切换到模态窗口
    Input Text    id=foo    测试输入内容正常    #输入内容
    Click Button    id=bb
    sleep    2s
    Select Window
    ${text}    Get Text    id=foo    #切回主窗口
    Should Be Equal    ${text}    测试输入内容正常
    [Teardown]    Close All Browsers

17.处理弹出框上的取消和确定按钮
confirm action
Choose Cancel On Next Confirmation
Choose Ok On Next Confirmation

Get Window titles
get title
${refresh} confirm action

choose ok on next confirmation     #点击确定按钮

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值