Selenium 测试疑难问题

1.如何查找iframe里面的元素
  一般情况下,selenium 多是结合 Xpath 获取元素属性,但当页面包括iframe 元素 ,并且 iframe 的src 是另一个page.html,这时如果要通过xpath 直接获取iframe里的元素,算是跨域访问,是获得不到的,这时候capybara 的 within 方法,便可解决。   within_frame(frame_id) ,默认是iframe 的id,也可支持name,xpath 方式获得。
  ruby 代码:
within_frame("frame_id") do 2        click_button "上传表单" 3       end
   2.如何测试confirm 对话框
  capybara 测试confirm 对话框 ,有两种情形:第一种判断confirm 对话框的返回结果,如修改密码成功等,另一种,删除操作,弹出类似确定删除的对话框。
  针对第一种情形解决方法:等待返回结果文本,进行和预期对比,ruby 代码:
alert=page.driver.browser.switch_to.alert2  # sleep Capybara.default_wait_time 若是ajax异步请求,则需要休眠等待 3    assert alert.text.should == "success!" 4    alert.accept
  针对第二种情形:是对页面弹出操作进行返回结果为真,进行 测试,ruby 代码:
page.evaluate_script('window.confirm = function() { return true; }')2    page.click_link "Destroy"


最新内容请见作者的GitHub页:http://qaseven.github.io/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值