51Testing软件测试论坛

标题: selenium如何处理alert提示 [打印本页]

作者: kx_monitor    时间: 2011-12-10 19:57
标题: selenium如何处理alert提示
selenium如何处理alert提示
作者: wn0112    时间: 2011-12-12 09:59
selenium私房菜中说用
----------------------------------------
assertAlert(messagePattern);
- 检查JavaScript 是否有产生带指定message 的alert 对话框
- alert 产生的顺序必须与检查的顺序一致
- 检查alert 时会产生与手动点击'OK'按钮一样的效果。如果一个alert 产生了,而你却没有去检查它,selenium会在下个action 中报错。
-------------------------------------------------------
但有错误, 不知道怎么用
作者: kx_monitor    时间: 2011-12-12 10:48
回复 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的
作者: 风在指间    时间: 2011-12-12 17:26
Alert alert = driver.switchTo().alert();
        alert.accept();\\确认
        alert.dismiss();\\取消
        alert.getText();\\获得提示文字
        alert.sendKeys("content");\\输入文字
作者: kx_monitor    时间: 2011-12-12 19:05
回复 4# 风在指间
你的这个driver对象是什么?不是selenium的实例化吧
我的selenium对象当中没有switchTo()这个方法
作者: wn0112    时间: 2011-12-13 10:12
本帖最后由 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();
作者: kx_monitor    时间: 2011-12-13 14:18
回复 6# wn0112


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

你的对于验证码是如何自动化的吗?sikuli这个东西貌似能把图片中的验证码文字读取出来
作者: wn0112    时间: 2011-12-16 13:59
本帖最后由 wn0112 于 2011-12-16 14:18 编辑
回复  wn0112


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

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

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

话说回来,验证码不就是为了防止某些“不法份子”用“自动化”的形式搞破坏吗?如果验证码被你自动化了,验证码也失去意义了。
作者: 想BAO    时间: 2012-4-12 22:40
回复 4# 风在指间

请教:webdriver处理弹出alert框处理:
        Alert alert= driver.switchTo().alert();
        System.out.println(alert.getText());
        alert.accept();
       但是confirm框要怎么处理啊?我不知道用什么方法捕获confirm弹出框!!!急急急~~~~~
       救救小命啊!!
作者: snakeshiy    时间: 2012-4-13 11:51
回复  wn0112


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


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




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2