博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Selenium2.0自动化测试中遇到的问题及解决方法
阅读量:7144 次
发布时间:2019-06-29

本文共 1237 字,大约阅读时间需要 4 分钟。

  hot3.png

一、        点击页面上的链接,打开一个新页面,如何获取新窗口的句柄并定位?java代码如下:

driver.findElement(By.name("Submit")).click();

String currentWindow = driver.getWindowHandle();//获取当前窗口句柄

Set<String> handles = driver.getWindowHandles();//获取所有窗口句柄

Iterator<String> it = handles.iterator();

while (it.hasNext()) {

                if (currentWindow == it.next()) {

                         continue;

                }

                WebDriver window = driver.switchTo().window(it.next());//定位到新窗口

                System.out.println("Page title is:" + window.getTitle());

                window.close();//关闭新窗口

      }

      driver.switchTo().window(currentWindow);//回到原来页面

  1. 二、        无法找到页面按钮元素,或者页面按钮元素不可见。

Selenium2.0自动化中定位页面元素很重要,经常碰到“The element could not be found”或者“The element is not displayed”。

有些按钮元素无法定位或者不可见的真实情况是元素被定位到了,但是按键动作没有被捕获到。

怎么解决这个问题呢?幸好,selenium2.0可以处理本机键盘和鼠标事件。所以,可以采用引入键盘事件的方法解决按键动作无法被捕获的问题。Java代码如下:

public void Add() throws Exception {

driver.findElement(By.name("add')]")).sendkeys(“test”);

pressKeyboard(KeyEvent.VK_TAB);//确认增加

pressKeyboard(KeyEvent.VK_ENTER);

// pressKeyboard(KeyEvent.VK_ESCAPE); //取消增加

}

public void pressKeyboard(int KeyCode) {

Robot rb = null;

try {

      rb = new Robot();

      } catch (AWTException e) {

                    e.printStackTrace();

}

      rb.keyPress(KeyCode); // 按下按键

      rb.delay(100); // 保持100毫秒

      rb.keyRelease(KeyCode); // 释放按键

      }

转载于:https://my.oschina.net/ywyw/blog/392694

你可能感兴趣的文章
一张图看懂阿里云网络产品【十四】IPv6转换服务
查看>>
Android应用开发—Android 消息处理机制:Handler&amp;Message
查看>>
数字货币量化实践线上分享
查看>>
Android应用开发-onNewIntent()
查看>>
推进你的计算机网络事业:10个技巧
查看>>
Android APP 性能优化的一些思考
查看>>
HyperLedger Fabric交易流程(6.3)
查看>>
JavaScript MVC 学习笔记(四)类的使用(下)
查看>>
java写的Http服务器下载工具
查看>>
Java中不同包下类与类之间的访问
查看>>
Seafile 发布 SeafileDocs 1.2,面向研发团队的文档管理
查看>>
php开源项目大全
查看>>
[20180607]函数与标量子查询8.txt
查看>>
阿里云服务器亚太东南1、亚太东南2、亚太东南 3、 5是哪个城市
查看>>
谈一下我们是如何开展code review的
查看>>
机票分享第六篇 机票搜索系统演进的经验
查看>>
为何我们要用 React 来写小程序 - Taro 诞生记
查看>>
LNMP删除.user.ini
查看>>
Android搜索建议(搜索联想)
查看>>
打造一个高质量的网站除了懂SEO优化还得打好基础
查看>>