广交好友~~ 想要讨论的可以留下msn~~~ 希望群友网友经常能提出问题,一起解决,共同提高

selenium 测试疑难问题

上一篇 / 下一篇  2014-03-11 21:42:19 / 个人分类:Selenium

selenium 测试疑难问题
0评/56阅
2012-07-15

1.如何查找iframe里面的元素

一般情况下,selenium 多是结合 Xpath 获取元素属性,但当页面包括iframe. 元素 ,并且 iframe. 的src 是另一个page.html,这时如果要通过xpath 直接获取iframe里的元素,算是跨域访问,是获得不到的,这时候capybara 的within方法,便可解决。within_frame(frame_id),默认是iframe. 的id,也可支持name,xpath 方式获得。
ruby 代码:
1within_frame("frame_id")do2click_button"上传表单"3end

详细参考:https://github.com/jnicklas/capybara

2.如何测试confirm 对话框

capybara 测试confirm 对话框 ,有两种情形:第一种判断confirm 对话框的返回结果,如修改密码成功等,另一种,删除操作,弹出类似确定删除的对话框。
     针对第一种情形解决方法:等待返回结果文本,进行和预期对比,ruby 代码:
1alert=page.driver.browser.switch_to.alert2# sleep Capybara.default_wait_time 若是ajax异步请求,则需要休眠等待3assert alert.text.should =="success!"4alert.accept

针对第二种情形:是对页面弹出操作进行返回结果为真,进行测试,ruby 代码:
1page.evaluate_script('window.confirm = function() { return true; }')2page.click_link"Destroy"

TAG:

 

评分:0

我来说两句

Open Toolbar