51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 9178|回复: 9
打印 上一主题 下一主题

selenium如何处理alert提示

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-12-10 19:57:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
selenium如何处理alert提示
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-12-12 09:59:01 | 只看该作者
selenium私房菜中说用
----------------------------------------
assertAlert(messagePattern);
- 检查JavaScript 是否有产生带指定message 的alert 对话框
- alert 产生的顺序必须与检查的顺序一致
- 检查alert 时会产生与手动点击'OK'按钮一样的效果。如果一个alert 产生了,而你却没有去检查它,selenium会在下个action 中报错。
-------------------------------------------------------
但有错误, 不知道怎么用
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-12-12 10:48:02 | 只看该作者
回复 2# wn0112


    public void testTest() throws InterruptedException{
                selenium.click("xpath=//td[2]/div/img");
                if(selenium.isAlertPresent()){
                        selenium.getAlert();
                }
                selenium.type("userId", "123456");
                selenium.type("userPwd", "123456");
                selenium.click("xpath=//td[2]/div/img");

        }

上面是我的测试代码,测试可以通过,但是必须去手动点击页面上的alert
网上好多资料说是selenium.getAlert()这个方法是会默认点击OK的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-12-12 17:26:20 | 只看该作者
Alert alert = driver.switchTo().alert();
        alert.accept();\\确认
        alert.dismiss();\\取消
        alert.getText();\\获得提示文字
        alert.sendKeys("content");\\输入文字
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2011-12-12 19:05:24 | 只看该作者
回复 4# 风在指间
你的这个driver对象是什么?不是selenium的实例化吧
我的selenium对象当中没有switchTo()这个方法
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2011-12-13 10:12:20 | 只看该作者
本帖最后由 wn0112 于 2011-12-13 10:15 编辑
回复  风在指间
你的这个driver对象是什么?不是selenium的实例化吧
我的selenium对象当中没有switchTo( ...
kx_monitor 发表于 2011-12-12 19:05


什么是WebDriver.

   webDriver 不与任何测试框架绑定,可以和junit/ TestNG或者其他平台一起工作。(甚至我想,完全可以把它当作一个独立的工具,和selenium没啥关系的工具)

什么时候用webDriver,用webDriver还要不要selenium server了呢?

在以下的情况用webDriver:

•1. 多浏览器测试,selenium中不支持的浏览器
•2. 多框架,多浏览器窗口,弹出框,警告窗口
•3. 页面导航
•4. 拖动
•5. 基因Ajax的UI元素。

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

WebDriver driver = new InternetExplorerDriver();
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2011-12-13 14:18:41 | 只看该作者
回复 6# wn0112


    谢谢你的回答,对于alert这个弹出框,我已经解决,用的sikuli这个东西

你的对于验证码是如何自动化的吗?sikuli这个东西貌似能把图片中的验证码文字读取出来
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-12-16 13:59:09 | 只看该作者
本帖最后由 wn0112 于 2011-12-16 14:18 编辑
回复  wn0112


    谢谢你的回答,对于alert这个弹出框,我已经解决,用的sikuli这个东西

你的对于 ...
kx_monitor 发表于 2011-12-13 14:18

我初学selenium,也没接触到需要识别验证码图片。
在别的论坛上看到过有人说Selenium对于验证码无解...
Sikuli更是不了解了,只听说它是以控件截图方式来完成自动化测试操作。
它能识别出验证码吗?要知道有些验证码肉眼都经常识别错误,何况用软件。
主要是验证码图片上太多不相关的色彩和线条。
有那种把图片上的文字抓出来的工具,但验证码上的文字,感觉困难。

话说回来,验证码不就是为了防止某些“不法份子”用“自动化”的形式搞破坏吗?如果验证码被你自动化了,验证码也失去意义了。
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2012-4-12 22:40:24 | 只看该作者
回复 4# 风在指间

请教:webdriver处理弹出alert框处理:
        Alert alert= driver.switchTo().alert();
        System.out.println(alert.getText());
        alert.accept();
       但是confirm框要怎么处理啊?我不知道用什么方法捕获confirm弹出框!!!急急急~~~~~
       救救小命啊!!
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2012-4-13 11:51:42 | 只看该作者
回复  wn0112


    public void testTest() throws InterruptedException{
                selenium.click("xpath= ...
kx_monitor 发表于 2011-12-12 10:48


getAlert()方法是会默认点OK的,如果在getAlert()后再加一个isAlertPresent()会返回False
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 06:04 , Processed in 0.068012 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表