51Testing软件测试论坛

标题: webdriver 来自网页的对话框 [打印本页]

作者: cy306gogo    时间: 2013-10-31 14:04
标题: webdriver 来自网页的对话框
我的操作是这样:
    1.点击页面的按钮button,弹出一个对话框dialog1,
    2.对话框有确定按钮,点击后弹出一个来自网页的对话框dialog2,这个框怎么点击确定让他消失啊,
   
  我请教了下其他人,是没有定位到当前弹出的窗口,快捷键可能没用,但是这个窗口怎么定位啊,点击确定后弹出的对话框不是默认
   实际操作中点击回车键就行了,这个框就没了,但是action.sendKeys(Keys.ENTER).perform(),我模拟的回车键没什么用,前面那个dialog1我是获得当前窗口的handle来取得的,
  各路大神知道的话,请给点建议啥的,
作者: cy306gogo    时间: 2013-10-31 15:03
11
作者: 六月天    时间: 2013-10-31 17:20
你的理解还是仅仅基于界面的操作,你需要明白这个框是用什么东西生成的。html里面本身不带这些跳出的对话框,如果这些对话框是用javascript做的,那么很明显,就有三种对话框alert、confirm和prompt,这些对话框都可以通过webdriver接口中提供的switchTo().alert()定位到,然后用Alert类里面提供的方法进行操作。而不是简单的用所谓的模拟用户操作。
如果不是javascript做出来的,那么webdriver是没有提供现成的类可以用的,只能通过抓句柄的方式来间接做这件事,这属于高级编程范围了,会操作句柄,基本你对一门语言的理解以及windows的理解在公司里面已经无敌了,所有开发都会崇敬你的。
作者: 六月天    时间: 2013-10-31 17:22
如果仅仅是普通html做的嵌在页面里面的对话框,那直接定位按钮元素然后click就行。。。。
作者: cy306gogo    时间: 2013-10-31 17:47
谢谢,受教了!
作者: cy306gogo    时间: 2013-10-31 17:48
回复 3# 六月天


    谢谢,受教了!
作者: wsryyffs    时间: 2013-11-20 09:05
我的操作是这样:
    1.点击页面的按钮button,弹出一个对话框dialog1,
    2.对话框有确定按钮,点击后 ...
cy306gogo 发表于 2013-10-31 14:04



    模拟回车:
Robot robot = new Robot();
                robot.keyPress(KeyEvent.VK_ENTER);;
作者: Test_s    时间: 2013-11-21 10:50
http://www.diggerplus.org/archives/920
希望对你有帮助




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