Robotframework 使用Selenium2Library时支持jQuery的简便方法

使用Selenium2Library 1.4.0,在官方的介绍里locating strategy里是支持jQuery的,但是在实际使用的时候,如果待测网页本身没有引用jQuery或者$已经被define过了就无法使用jQuery作为locating strategy,这个对于重度依赖jQuery的测试是件麻烦的事情。

 

在没有找到更好的办法之前,先用土办法对付一下,首先想到的就是利用 Execute Javascript 命令。

var jQ = window.document.createElement('script');
jQ.src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js';
window.document.body.appendChild(jQ);

在google的首页测试一下~ google首页的$并非属于jQuery,所以$('input[name=btnI]')[0] 这样的代码是不起作用的。

那么添加了对jQuery的引用之后感觉应该没问题了,于是在test case中加入以下测试代码:

Click Element 	dom=$('input[name=btnI]')[0]

期待结果是doodle页面被打开,也就是‘手气不错’那个按钮。可惜的是,依然fail了,错误提示 "$ is not defined"

这不科学。。。正在一筹莫展的时候,突然想起来这个外部文件加载是需要时间地。。。。

于是加上了一个Sleep再试试。。。

Sleep 	5

啊哈! doodle页面就呈现在眼前啦! 

完整测试代码如下:

*** Settings ***
Library 	OperatingSystem
Library     Selenium2Library
Library 	String

*** Test Cases ***
OPEN-Doodle-PAGE
	
        Open Browser  	http://www.google.com 	Chrome
	
	Execute Javascript 	a = window.document.createElement('script');a.src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js';window.document.body.appendChild(a);

	Sleep 	2
	
	Click Element 	dom=$('input[name=btnI]')[0] 

  

 

 

转载于:https://www.cnblogs.com/techEYE/p/3442308.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值