Robot Framework + Selenium2Library 设计页面自动化技巧集

多余的不说,本文是自己实践过程中收集的关于使用Robot Framework + Selenium2Library 设计页面自动化用例的一些技巧。不一定放任四海皆准,至少可以作为参考。后续会持续更新。关于如何用Selenium IDE辅助选择元素,请参考上一篇博客: http://blog.csdn.net/it_blog/article/details/38168835。


技巧1: 让Web页面自动滚动到底部

背景:有些Web页面的元素很多,一个屏幕可能展示不下,特别是些保存,取消,提交等等按钮会被放置在底部。而Selenium2Library只能对看的见的元素做选择,然后操作。所以,常常需要在页面做了些特定配置后,滚动到页面底部提交,或者把页面先滚动到底部,让一些配置项能看的见后,再做配置。

方法:使用Selenium2Library的关键字“Execute Javascript”. 

Execute Javascript    document.documentElement.scrollTop=10000

    10000,这个值可以尽量大,页面到滚不动就不滚了。


技巧2: 多frame的页面内的元素操作

背景:基本上现在的页面都会有多个frame组成,每个frame内的元素互相独立,Selenium web driver默认只对当前frame操作,所以,要先进入特定的frame,再对里面的元素做操作。

方法:使用关键字“Select Frame    locator” 去进入一个frame,然后操作元素。


技巧3:在各frame之间切换

背景:当一个页面包含多个frame (iframe),且这些frame直接可能有嵌套的时候,对一个frame里的元素操作完后,想操作另外一个frame里的元素,就需要先做一个切换,否则Selenium web driver找不到。

方法:使用关键字“Unselect Frame” 退出一个frame.


技巧4:操作Windows弹出对话框里的元素

背景:经常会看到一些提交,或者校验操作会弹出一个Windows对话框让用户确认。这个对话框里面的元素也需要操作,才能完成一个场景测试。

方法:用关键字“Select Window    title=xxxx”来把焦点移到弹出对话框里,然后对对话框里的元素做操作。

                  当弹出对话框消失后,要记得再执行一次“Select Window”, 不加locator,以回到原来的主页面。


技巧5:近似精确的等待页面操作结果生效。

背景:当某个页面配置操作提交后,可能需要确保后台的业务逻辑完成,才能进行接下来的操作,如何能确保后台业务逻辑已经完成?等待页面出现某个特定字符串出现,是个方法。但是,如果页面设计者为了提高用户体验,让页面先返回,后台稍稍慢慢点做呢?有人说可以“sleep”嘛。恩,没错,那要睡多久呢?如果满篇都是睡,用例要多久能跑完?等不起啊。

方法:Robot framework有个关键语法“FOR IN RANGE....Exit For Loop”,  加上关键字 “Run Keyword if”可以实现近似精确的等待。

    : FOR    ${index}    IN RANGE    200
    \    /*获取某个值,并附给某个变量*/
    \    Run Keyword if    /*这个变量满足某个条件*/    Exit For Loop
    \    sleep    x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值