zoukankan      html  css  js  c++  java
  • 自动化测试Selenium Webdriver (JAVA)学习小结

    自动化测试--Selenium学习小结

    一、自动化测试的概念及意义:

    1.什么是自动化测试:

    一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。

    2.意义:

    让测试更有效率,利用更多的空余时间,减少人力资源。

    二、selenium工具

    我用的是java语言,所以接下来的例子和方法都是基于java的。

    1.环境配置

    (1)Jdk的配置;

    我用的是1.7的jdk,配置方法都一样,新建一个JAVA_HOME,把你装好的jdk的路径复制过去。

     

    在新建一个CLASSPATH,变量值填写:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;

     

    然后找到path,没有就新建一个,在变量值中加上:%JAVA_HOME%in;%JAVA_HOME%jrein;

    (像下图如果变量值中有内容,前面需加上“;”用来隔开)

     

    最后检验jdk是否安装正确,输入win+R,打开cmd,输入java -version,得到下图则说明安装成功:

    (2)Eclipse或者myeclipse工具;

    下载三个文件:selenium-java-2.48.2.jar

    selenium-java-2.48.2-srcs.jar

    Selenium-server-standalone-2.46.0.jar

    这三个文件要放到项目的lib中

     

    2.浏览器:

    支持iefirefoxgoogle

    二、小试身手

    1.打开浏览器:

    Firefox浏览器(我使用的是firefox,后面的例子也是使用的firefox,出错少,方便使用)

    A.如果你的火狐浏览器默认安装的:

     

    B.自定义安装的,需要指定路径:

     

     
       

    Google浏览器(需要下载一个Googledriverserver)

     

    Ie浏览器(需要下载一个iedriverserver

     

     
       

    2.打开网址(上下文的wd是我自己的命名,可以自己更改)

     

     
       

    3.完整的例子:

     
       

    三、更具体的运用

    1.查找页面元素

    通过idnametext查询元素

    wd.findElement(By.id(""));

    wd.findElement(By.name(""));

    wd.findElement(By.linkText(""));

    一般没有特定要求的页面元素很多都没有idname这时候我们就要用到一个强大的查询语句byxpath

     

    例如我们要定位到上图的图片,也就是欧曼的图标,我们用xpath定位:

    wd.findElement(By.xpath("//img[contains(@src,'themes/auman/images/logo.png')]"));

    2.页面操作

    模拟鼠标点击:

    Wd.click();

    关闭网页:

    Wd.close();

    清空输入框中的内容:

    Wd.clear();

    在输入框中输入内容:

    Wd.sendKeys(“”);

    获取输入框中的内容:

    Wd.getText();

    选择下拉框中的元素:

    Select select = new Select(wd.findElement(By.id("select")));

    切换到某个frame

    driver.switchTo().frame("");

    从一个frame切换到另一个frame

    driver.switchTo().frame("");

    切换到某个window

    driver.switchTo().window("windowName");

    返回父iframe:(一般在跳转frame之前都写上这个语句

    driver.switchTo().defaultContent();

    刷新页面:

    wd.navigate().refresh();

    页面前进后退:

    wd.navigate().forward();

    wd.navigate().back();

    悬停鼠标:

     

    悬停鼠标可能你觉得为什么需要这个操作,我已欧曼为例子,像这一栏每个车型下都有多个元素,想要找到元素,这个时候就需要模拟鼠标悬停使得隐藏js的让我们可以找到:

    悬停前:

     

    悬停后:

     

    实例:

     

    4.设置等待时间:

    强行停止:(1000代表1s

    Thread.Sleep1000);

    全局等待:(单位:s

    wd.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

    5.得到当前页面的url

    wd.getCurrentUrl();

    6.判断页面是否跳转正确

    assertEquals("http://mall.aumantruck.com/goods_list/2915/66/add_time/desc/page-1.html",wd.getCurrentUrl());

    有各种验证方法,但是要是能够证明的特征元素才行,避免出现误差!可以验证url是否是你预期的,或者有些页面元素是你预期会有的。

  • 相关阅读:
    预防新型冠状病毒科普宣传网站
    四则运算
    结对审查
    最大子段和
    单元自动测试Junit
    浅谈过去,畅想未来
    第一次的结对编程
    代码审查
    单元测试
    junit4单元测试
  • 原文地址:https://www.cnblogs.com/authorG/p/5210816.html
Copyright © 2011-2022 走看看