zoukankan      html  css  js  c++  java
  • [selenium webdriver Java]常用api

    1. 获取元素文本

    WebElement类的getText()方法返回元素的innerText属性。所以元素里如果有子节点一样也会被返回出来。如下所示

     1 public class GetText {
     2     @Test
     3     public void testGetText(){
     4         //启动driver,打开被测页面
     5         System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
     6         WebDriver driver = new ChromeDriver();
     7         driver.get("http://map.baidu.com");
     8         
     9         //等待一段时间,使得页面加载完成,避免出现无法找到元素的问题
    10         try{
    11             Thread.sleep(2000);
    12         }catch(Exception e){
    13             
    14         }
    15         
    16         //取得元素
    17         WebElement message = driver.findElement(By.className("open-map"));
    18         
    19         //获得元素文本
    20         String messageText = message.getText();
    21         
    22         //验证文本为“查看短租、求职、订餐、天气等更多专题地图 >>”
    23         Assert.assertEquals(messageText, "查看短租、求职、订餐、天气等更多专题地图 >>");
    24         
    25         //可使用java string api方法进行部分匹配
    26         Assert.assertTrue(messageText.contains("求职"));
    27         Assert.assertTrue(messageText.startsWith("查看短租"));
    28         Assert.assertTrue(messageText.endsWith(">>"));
    29         
    30         //关闭driver
    31         driver.quit();
    32     }
    33 }
    代码示例

    2. 获取元素属性值

    WebElement类的getAttribute()返回元素的属性值

    3. 获取元素的css属性值

    WebElement类的getCSSvalue()方法将返回元素的样式属性值

    4. 在元素上执行鼠标双击

    Actions类的doubleClick()方法

    5. 执行JavaScript代码

    JavascriptExecutor接口,可以任意执行JavaScript代码,尤其适用于一些Selenium WebDriver目前不支持的操作

     ((JavascriptExecutor) driver).executeScript(script);

    6. 浏览器窗口最大化

    driver.manage().window().maximize();

    7. 处理windows进程

    selenium WebDriver java 提供了windowsUtils类来和Windows系统交互。在测试开始时,我们需要关掉一些已经存在的进程。

     1 public class KillWindows {
     2 
     3     @Test
     4     public void test(){
     5         
     6         //关闭ie浏览器进程
     7         WindowsUtils.tryToKillByName("iexplore.exe");
     8         
     9         System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
    10         WebDriver driver = new ChromeDriver();
    11         driver.get("http://www.baidu.com");
    12         
    13         driver.quit();
    14     }
    15 }
    示例代码

    我们可以使用tryToKillByName方法来关闭任何的windows进程。

    如果这个进程不存在则会抛出一个异常,但是,测试还是会正常的执行下去

    8. 阅读/修改windows注册表中的值

     WindowsUtils类提供了多种方法和windows操作系统的注册表进行交互。如果测试是运行在windows操作系统上的IE浏览器,则可能需要修改一些IE注册表里的设置。使用WindowsUtils类可以很方便的解决这个问题。

    根据不同的返回值数据类型,可选择以下几种方法:

    readStringRegistryValue()

    readIntergerRegistryValue()

    readBooleanRegistryValue()

    修改:

    writeStringRegistryValue()

    writeIntergerRegistryValue()

    writeBooleanRegistryValue()

  • 相关阅读:
    10分钟学会在Ubuntu 18.04 LTS上安装NFS服务器和客户端
    脱发、秃头防不胜防?这里有一份给码农的减压指南 [转自机器之心]
    Ubuntu通过apt-get安装指定版本和查询软件源有多少个版本
    ubuntu tree 查看目录结构
    Clion快捷键
    斜杠与反斜杠的记法
    C++ 既有约定
    docker其他参考资料
    标准错误重定向、标准输入重定向
    第一本Docker书读书笔记
  • 原文地址:https://www.cnblogs.com/missPersist/p/4201793.html
Copyright © 2011-2022 走看看