美文网首页
selenium学习路径

selenium学习路径

作者: 心悦飞飞 | 来源:发表于2018-08-21 21:10 被阅读0次

    启蒙部分:

    1. selenium 是什么?

    Selenium是一个用于Web应用程序测试的工具,测试直接运行在浏览器中,如同用户在操作一样.

    Selenium是一套工具,可以跨多个平台自动化浏览器.运行在许多浏览器和操作系统上.

    2. selenium 能干什么?

    代替手工, 进行频繁的回归测试, 重复性的测试, 快速生成海量的测试数据

    轻松实现, 几乎无限次的测试用例迭代

    可以支持, 敏捷和极限开发方法

    更具需要, 定制的缺陷报告

    3. selenium 怎么使用?

    支持的语言, Java / Python / JavaScript / 等.

    支持的系统, Windows / MAC / Linux

    支持浏览器, IE / Chrome / Firefox / Safari / Opera / HtmlUnit / phantomjs /

    Android (with Selendroid or appium) / iOS (with ios-driver or appium)

    一句话, 就是可以进行自动化相关的测试, 可以进行单元测试,接口测试,功能测试.

    4. selenium自动化测试的核心?

    webdriver 是selenium进行GUI 功能测试的核心.

    WebDriver用“驱动”(driver)去控制不同的浏览器.

    WebDriver与“驱动”(driver)间用JSON协议进行通信.

    WebDriver还有一个移动驱动叫做Appium,它允许测试代码在移动设备和平板上运行

    本质上Selenium是一个生态系统,我们可以进行本地桌面,本地移动设备,跨平台测试,

    我们不需要使用Windows,Mac或是Linux操作系统。

    我们可以选择自己项目团队最合适的编程语言。

    我们可以并行或远程执行我们的测试。

    所有需要做的就是学习如何使用WebDriver。

    5. WebDriver干什么?

    WebDriver是一个自动化浏览器的工具.

    WebDriver可是使浏览器自动化.

    WebDriver可以为我们打开URL与渲染出的页面进行交互:

    新建一个浏览器实例 , 在浏览器中打开一个URL , 点击页面上的链接 ,

    在字段中输入信息, 在页面中执行JavaScript , 实现模拟人工进行业务功能操作.

    WebDriver不是一个测试REST APIs、SOAP APIs或数据库的工具。

    因为WebDriver本质上是一个库,

    我们可以将其与其他库一起使用,调用其他API或者对数据库进行操作。

    通常WebDriver与其他库一起使用,访问数据库检查结果,

    使用REST库进行API调用,然后在WebDriver页面上检查结果.

    使用库而不是框架提供了更多的灵活性来实现自动化.

    最后: selenium自动化主要就是通过webdriver提供的一套API实现web功能的自动化测试.

    理论部分一:

    在使用selenium webdriver进行元素定位时,

    通常使用findElement或findElements方法结合By类返回的元素句柄来定位元素.

    <input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

    WebDriver元素的常用8种定位方式:

    driver.findElement(By.id("kw"));

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

    driver.findElement(By.className("xxx"));

    driver.findElement(By.tagName("input "));

    driver.findElement(By.xpath("xxx"));

    driver.findElement(By.linkText("xxx"));

    driver.findElement(By.partialLinkText("xxx"));

    driver.findElement(By.cssSelector("xxx"));

    最后再总结一下,各种方式在选择的时候应该怎么选择:

    id定位,精准简单高效/

    name定位,className定位,tagName定位, 定位一组元素可以使用;

    name定位,className定位,tagName定位, 定位单个元素, 需要检测是否唯一.

    linkText定位, 即通过超文本链接上的文字信息来定位元素. 需要检测是否唯一.

    partialLinkText定位, 当你不能准确知道超链接的完整文本信息, 可以使用部分文本信息进行定位.

    xpath定位,cssSelector定位, 非常强大的元素查找方式,几乎可以定位到页面上的任意元素.

    1. 当页面元素有id属性时,最好尽量用id来定位。如果没有可以选择其他定位方法。

    2. xpath很强悍,但定位性能不是很好。少用但可以选择xpath或cssSelector。

    3. 当要定位一组元素相同元素时,可以考虑用tagName或name。

    4. 当有链接需要定位时,可以考虑linkText或partialLinkText方式。

    绝对路径以单/号表示,而下面要讲的相对路径则以//表示,这个区别非常重要

    一定要学好xpath定位的手写方式,

    一定要学好xpath定位的手写方式,

    一定要学好xpath定位的手写方式.

    理论部分二:

    运行Selenium 3所需的最低Java版本是Java 8+

    不支持PhantomJS,建议使用无头Firefox或者而不是Chrome.

    各种浏览器的启动完整代码

    启动火狐浏览器示例代码:

    public static void StartFireFoxByDefault(){

    WebDriver driver;

    System.out.println("start firefox browser...");

    System.setProperty("webdriver.gecko.driver", "src\main\resources\driver\geckodriver55.exe");

    driver = new FirefoxDriver();

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

    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    driver.get("http://www.baidu.com/");

    System.out.println("start firefox browser succeed...");

    }

    启动谷歌浏览器示例代码:

    public static void StartChromeByDefault(){

    System.out.println("start firefox browser...");

    System.setProperty("webdriver.chrome.driver", "\src\main\resources\driver\chromedriver63.exe");//驱动路径

    WebDriver driver = new ChromeDriver();

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

    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    driver.get("http://www.baidu.com/");

    System.out.println("start firefox browser succeed...");

    }

    测试准备阶段: 以windows系统,chrome浏览器,java语言来进行示例.

    1. 下载需要使用到的webdriver文件, 在我的其他文章中有下载地址

    2. 下载JDK1.8+, 我使用的selenium3.X版本, 最低支持JDK1.8版本.

    3. 配置jdk的环境变量,

    系统环境变量JAVA_HOME:D:\Java\jdk1.8.0_05(写自己安装的jdk地址)

    系统环境变量Path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;<path中追加>

    系统变量CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

    检验是否配置成功 运行cmd 输入 java -version (java 和 -version 之间有空格)

    4. 下载安装eclipse, 从eclipse官网下载,https://www.eclipse.org/downloads/

    5. 下载安装maven,从apache官网下载,https://maven.apache.org/

    配置 maven 环境变量:

    系统变量:MAVEN_HOME = F:\apache-maven-3.5.0;

    系统变量path追加: %MAVEN_HOME%\bin;

    打开 cmd,在里面敲:mvn -version

    6. eclipse中配置maven,

    windows-->preference-->maven--->installations--->add--->maven安装目录-->勾选--apply.

    7. 如果安装的是Intel IDEA, 自带maven, 无需安装.

    8. selenium等相关的依赖的jar包, 都可在maven repository 仓库中,搜索添加到pom.xml文件中.

    实战阶段

    相关文章

      网友评论

          本文标题:selenium学习路径

          本文链接:https://www.haomeiwen.com/subject/iqrsiftx.html