jck28-lucio-环境安装与使用

目录

  • Selenium的简介
  • Selenium的安装
  • Driver的配置(Mac与Windows)

Selenium的简介

  • 官方网站

https://www.selenium.dev/

  • 简介
    • 用于web浏览器测试的工具
    • 支持的浏览器包括IE,Firefox,Safari,Chrome,Edge等
    • 使用简单,可使用Java,Python等多种语言编写用例脚本
    • 主要由三个工具构成:WebDriver、IDE、Grid

Selenium架构图

Selenium环境配置步骤

  1. 准备好Python/Java环境
  2. 准备好selenium依赖
  3. driver的下载与配置(Mac与Windows不同)
  4. 在代码中import对应的依赖

注意:刚开始学习,谷歌浏览器和火狐浏览器选一个配置即可,建议谷歌浏览器

Selenium的安装(Python)

  • 前提:
    • 配置好python环境
    • 配置好pip工具
  • 安装: pip install selenium

Selenium的安装(Java)

  • 前提:
    • Java环境
    • maven环境
org.seleniumhq.selenium selenium-java 4.0.0-rc-2

Selenium的安装(Java)

        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>11</java.version>
        <!-- 使用 Java 11 语言特性 ( -source 11 ) 并且还希望编译后的类与 JVM 11 ( -target 11 )兼容,您可以添加以下两个属性,它们是默认属性插件参数的名称-->
        <maven.compiler.target>11</maven.compiler.target>
        <!-- 对应junit Jupiter的版本号;放在这里就不需要在每个依赖里面写版本号,导致对应版本号会冲突-->
        <junit.jupiter.version>5.8.2</junit.jupiter.version>
        <maven.compiler.version>3.8.1</maven.compiler.version>
        <maven.surefire.version>3.0.0-M5</maven.surefire.version>
        <hamcrest.version>2.2</hamcrest.version>
        <!-- plugins -->
        <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>

    </properties>
    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.0.0-rc-2</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit.jupiter.version}</version>
        </dependency>
        <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
            <version>${junit.jupiter.version}</version>
        </dependency>
    </dependencies>
    <build>
        <!-- maven 运行的依赖插件 -->
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <parameters>true</parameters>
                    <source>11</source>
                    <target>11</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M7</version>
                <configuration>
                    <includes>
                        <include>**/*Test.java</include>
                    </includes>
                </configuration>
            </plugin>
        </plugins>
    </build>

Driver的下载与配置

Driver的下载与配置步骤

  1. 下载浏览器对应的driver,谷歌浏览器和火狐浏览器选一个即可。
  1. 配置 driver 的环境变量
  2. 重启命令行工具,验证是否配置成功

1. chromedriver的下载-Windows

  • chromedriver的下载
    • 确定与浏览器匹配的driver版本
    • 根据使用的操作系统下载相应的 chromedriver
  • 淘宝镜像:

2. chromedriver 环境变量配置-Windows

3. 验证配置chromedriver是否成功-Windows

  • 重启命令行,输入:chromedriver --version
  • 出现chromedriver版本信息则配置成功

geckodriver 配置-Windows

  • 下载geckodriver。
    • 没有chromedriver类似的对应关系,默认下载最新的driver版本
    • 根据使用的操作系统下载相应的 geckodriver
    • 淘宝镜像:CNPM Binaries Mirror
  • 配置步骤与谷歌浏览器的相同。
  • 输入geckodriver --version,验证是否配置成功。

1. chromedriver的下载-Mac

  • chromedriver的下载
    • 确定与浏览器匹配的driver版本
    • 根据使用的操作系统下载相应的 chromedriver
  • 淘宝镜像:

2. chromedriver 环境变量配置-Mac

  1. 进入命令行工具,确定当前的SHELL环境:echo $SHELL
  2. 根据自己的SHELL环境选择执行命令:
  • 如果显示/bin/bash,则vim ~/.bash_profile
  • 如果显示/bin/zshvim ~/.zshrc
  1. 在文件中添加:export PATH=$PATH:[chromedriver所在路径]
  2. 重启命令行工具

3. 验证配置chromedriver是否成功-Mac

  • 输入chromedriver,验证是否配置成功

geckodriver 配置-Mac

  • 下载geckodriver。
    • 没有chromedriver类似的对应关系,默认下载最新的driver版本
    • 根据使用的操作系统下载相应的 geckodriver
    • 淘宝镜像:CNPM Binaries Mirror
  • 配置步骤与谷歌浏览器的相同。
  • 输入geckodriver --version,验证是否配置成功。

在 python 中的使用

  • 谷歌浏览器演示
# 导入selenium 包
from selenium import webdriver

# 创建一个 Chromdriver 的实例。Chrome()会从环境变量中寻找浏览器驱动
driver = webdriver.Chrome()
# 打开网址
driver.get("https://www.baidu.com/")
# 关闭driver
driver.quit()
  • 火狐浏览器演示
# 导入selenium 包
from selenium import webdriver

# 创建一个 Geckodriver 的实例。Firefox()会从环境变量中寻找浏览器驱动
driver = webdriver.Firefox()
# 打开网址
driver.get("https://www.baidu.com/")
# 关闭driver
driver.quit()

在 java 中的使用

  • 谷歌浏览器演示
import org.openqa.selenium.chrome.ChromeDriver;

public class ChromeDemo {
    public static void main(String[] args) {
        // 创建一个 ChromeDriver 的实例,会自动从环境变量中寻找浏览器驱动
        WebDriver driver = new ChromeDriver();
        // 打开网页
        driver.get("https://ceshiren.com/");
        //关闭driver进程
        driver.quit();
    }
}
  • 火狐浏览器演示
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class FireFoxDemo {
    public static void main(String[] args) {
      // 创建一个 Geckodriver 的实例。Firefox()会从环境变量中寻找浏览器驱动
        WebDriver driver = new FirefoxDriver();
        // 打开网页
        driver.get("https://ceshiren.com/");
        // 关闭driver进程
        driver.quit();
    }
}

遇到问题:

解决办法:
// 创建一个Chrome浏览器实例
ChromeOptions chromeOptions = new ChromeOptions();
//解决 403 出错问题
chromeOptions.addArguments(“–remote-allow-origins=*”);
WebDriver driver = new ChromeDriver(chromeOptions);