robot切换窗口

在用robot做自动化测试的时候,经常遇到新开窗口,需要切换窗口的情况。

两种方式来解决:

(1)用robot的关键字来解决

1     实现窗口切换的功能
2     @{handlelist}                      List Windows                                 #获取当前所有的窗口
3     Select Window                      @{handlelist}[-1]                            #选择最后一个窗口
4     Execute JavaScript                 window.close()                               #将当前选择的窗口关闭
5     Select Window                      @{handlelist}[0]                             #在选择第一个窗口
6     Location Should Be                 http://www.baidu.com                         #验证是否正确

(2)借助于python语言来解决

1 #coding=utf-8
2 
3 def change(allweb):
4         a = len(allweb) #获取allweb的长度
5         return allweb[a-1]  
6 
7 if __name__ == '__main__':
8     print change('dewc')   #输出的是最后一个

在你的XXcase.robot文件中导入这个文件:

1 Library                                     switchwindow.py

在你的case中,

1  ${handlelist}                      List Windows
2  ${handle}                          Change                               ${handlelist}
3  Select Window                      ${handle}

就可以实现窗口切换了。

(3)切换窗口之后,新窗口自动关闭

1 Reload Page                                                 #刷新页面
2 Click Link                       ${PUBLISH_CENTER}          #进入原来的页面
3 Select Frame                     ${PUBLISH_IFRAME}          #切换frame 

 新窗口关闭之后,需要返回原来的窗口,如果直接运行,会报no such window的错误。所以需要刷新页面,跳转到原来的窗口,如果需要定位的标签在frame里面,需要再次切换frame。否则,还是找不到。

原文地址:https://www.cnblogs.com/feifei-cyj/p/7611382.html