0


Selenium(简单入门)

请直接看原文:
selenium 使用教程详解-java版本 - 小葛师兄 - 博客园 (cnblogs.com)


第一章 Selenium 概述#

1.1.Selenium 发展史#

​ Selenium是一系列基于Web的自动化工具,提供一套测试函数,用于支持Web自动化测试。函数非常灵活,能够完成界面元素定位、窗口跳转、结果比较。具有如下特点:

  • 多浏览器支持 - 如IE、Firefox、Safari、Chrome、Android手机浏览器等。
  • 支持多语言 - 如Java、C#、Python、Ruby、PHP等。
  • 支持多操作系统 - 如Windows、Linux、IOS、Android等。
  • 开源免费 - 官网:http://www.seleniumhq.org/

Selenium框架由多个工具组成,包括:Selenium IDE,Selenium RC,Selenium WebDriver和SeleniumRC。

发展到如今 Selenium 已经发布到了 3.0 版本了,以下是简单总结发展过程以及一些变化:

  • Selenium 1.0

Jason Huggins在2004年发起的 Selenium 项目,使用 JavaScript 编写的一个类库,这个 JavaScript 类库就是Selenium core,同时也是seleniumRC、Selenium IDE的核心组件。Selenium由此诞生。

  • Selenium 2.0

因为Selenium和Webdriver的合并,所以,Selenium 2.0由此诞生。

简单用公式表示为:Selenium 2.0 = Selenium 1.0 + WebDriver

需要强调的是,在Selenium 2.0中主推的是WebDriver,可以将其看作Selenium RC的替代品。因为Selenium为了保持向下的兼容性,所以在Selenium 2.0中并没有彻底地抛弃Selenium RC。

所以,我们在学习Selenium2.0的时候,核心是学习WebDriver。它的工作原理是这样的:

  • Selenium 3.0Selenium 3.0做了一些不大不小的更新:- 1、终于去掉了RC,简单用公式表示为:Selenium 3.0 = Selenium 2.0 - Selenium RC(Remote Control)- 2、Selenium3.0只支持Java8版本以上。- 3、Selenium3.0中的Firefox浏览器驱动独立了,以前装完selenium2就可以驱动Firefox浏览器了,现在和Chrome一样,必须下载和设置浏览器驱动。- 4、MAC OS 集成Safari的浏览器驱动。默认在/usr/bin/safaridriver 目录下。- 5、只支持IE 9.0版本以上。

1.2.Selenium WebDriver原理#

将 WebDriver 驱动浏览器类比成开出租车的场景。

在开出租车时有三个角色:

  • 乘客:他/她告诉出租车司机去哪里,大概怎么走。
  • 出租车司机:他按照乘客的要求来操控出租车。
  • 出租车:出租车按照司机的操控完成真正的行驶,把乘客送到目的地。

在WebDriver中也有类似的三个角色:

  • 工程师写的自动化测试代码:自动化测试代码发送请求给浏览器的驱动(比如火狐驱动、谷歌驱动)
  • 浏览器的驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器
  • 浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。

第二章 Selenium 环境搭建#

2.1.java 环境#

想要通过 java 语言来使用 selenium 框架,前提要完成 jdk 环境的安装。

详细安装教程见:https://blog.csdn.net/shengmer/article/details/78836255

2.2.selenium 环境#

简单 java 工程:

直接导入 selenium的 jar 包就可以了。

jar包下载地址: Selenium各个版本jar下载 , 下载对应的版本即可

maven工程:

在pom文件中引入对应的依赖即可:

maven仓库:https://mvnrepository.com/

 <dependency>
     <groupId>org.seleniumhq.selenium</groupId>
     <artifactId>selenium-java</artifactId>
     <version>3.4.0</version>
 </dependency>

2.3.selenium3 对应浏览器驱动下载#

当selenium升级到3.0之后,对不同的浏览器驱动进行了规范。如果想使用selenium驱动不同的浏览器,必须单独下载并设置不同的浏览器驱动。
各浏览器下载地址:

  • Firefox浏览器驱动:geckodriver
  • Chrome浏览器驱动:chromedrivertaobao备用地址
  • IE浏览器驱动:IEDriverServer
  • Edge浏览器驱动:MicrosoftWebDriver
  • Opera浏览器驱动:operadriver
  • PhantomJS浏览器驱动:phantomjs注:部分浏览器驱动地址需要梯子。

设置浏览器驱动

设置浏览器的地址非常简单。 我们可以手动创建一个存放浏览器驱动的目录,如: C:\driver , 将下载的浏览器驱动文件(例如:chromedriver、geckodriver)丢到该目录下。
我的电脑–>属性–>系统设置–>高级–>环境变量–>系统变量–>Path,将“C:\driver”目录添加到Path的值中。

验证浏览器驱动

验证不同的浏览器驱动是否正常使用。

import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.opera.OperaDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;

WebDriver driver = new ChromeDriver();    //Chrome浏览器

WebDriver driver = new FirefoxDriver();   //Firefox浏览器

WebDriver driver = new EdgeDriver();      //Edge浏览器

WebDriver driver = new InternetExplorerDriver();  // Internet Explorer浏览器

WebDriver driver = new OperaDriver();     //Opera浏览器

WebDriver driver = new PhantomJSDriver();   //PhantomJS
 

第三章 Selenium 简单示例#

  • 打开百度进行搜索:
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @Description: 通过selenium操作浏览器打开百度进行搜索
 * selenium版本:3.12.0; 通过maven管理jar包
 * 开发工具:IDEA
 * jdk:1.8
 * 浏览器:chrome 75+
 * @Author: ggf
 * @Date: 2020/03/22
 */
public class BaiduSearch {
    public static void main(String[] args) {
        // 1.创建webdriver驱动
        WebDriver driver = new ChromeDriver();
        // 2.打开百度首页
        driver.get("https://www.baidu.com");
        // 3.获取输入框,输入selenium
        driver.findElement(By.id("kw")).sendKeys("selenium");
        // 4.获取“百度一下”按钮,进行搜索
        driver.findElement(By.id("su")).click();
        // 5.退出浏览器
        driver.quit();
    }
}
标签: java

本文转载自: https://blog.csdn.net/weixin_70280523/article/details/136272605
版权归原作者 奋豆来袭 所有, 如有侵权,请联系我们删除。

“Selenium(简单入门)”的评论:

还没有评论