zoukankan      html  css  js  c++  java
  • java之web自动化环境搭建

    环境搭建:

    一、Selenium安装

    pip install selenium

    可使用以下命令查看是否安装成功:

    pip show selenium

    二、谷歌浏览器安装

    如果能打开官网下载最好:https://www.google.cn/chrome/

    如果不能,推荐一个网址:https://liulanqi.lanzous.com/iBdUJfh7zod

    下载正式版/稳定版,然后安装即可,安装路径使用默认的。

    三、谷歌驱动安装,安装 chromedriver

    谷歌浏览器右上角三个点,帮助,关于,查看谷歌浏览器版本

    chromedriver下载

    http://npm.taobao.org/mirrors/chromedriver/

    找到自己对应的版本并下载,如果有多个版本的话,最大的版本号相同即可,可以选择最新的。比如 86.1  86.2  86.3,我们可以选择 86.3

     

    下载完成后解压,得到 chromedriver.exe,将其放入 Python 安装路径下的Scripts目录。接下来我们运行一个小的案例

     

    运行以上脚本,最终打开百度网址搜索 123 ,证明运行成功。

    以上,windows 系统下的 selenium 环境安装就完成了。

     

     

    pom.xml文件中需要添加selenium依赖

    <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <version.maven.compiler>2.3.2</version.maven.compiler>
            <version.maven.surefire>2.12</version.maven.surefire>
            <java.version>1.8</java.version>
            <junit.version>5.1.1</junit.version>
            <aspectj.version>1.8.10</aspectj.version>
            <selenium.verson>3.0.0</selenium.verson>
        </properties>
    
    
        <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <version>${selenium.verson}</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-chrome-driver</artifactId>
            <version>${selenium.verson}</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-firefox-driver</artifactId>
            <version>${selenium.verson}</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-ie-driver</artifactId>
            <version>${selenium.verson}</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>${selenium.verson}</version>
        </dependency>
        </dependencies>

     一些页面操作方法

    package com.web_java01;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.Dimension;
    import org.openqa.selenium.Point;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.testng.annotations.Parameters;
    import org.testng.annotations.Test;
    
    import java.awt.*;
    
    public class web_test01 {
        @Parameters(value = {"browserType"})
        @Test
        public  void test(String browserType) throws InterruptedException {
            System.out.println("浏览器为:"+browserType);  //浏览器为:filefox
            // 指定浏览器驱动路径
            System.setProperty ( "webdriver.chrome.driver", "driver\chromedriver.exe" );
            WebDriver driver = new ChromeDriver();
            //访问百度
            driver.get("http://www.baidu.com");
            //窗口最大化
            WebDriver.Window window = driver.manage().window();
            window.maximize();
            //获取窗口高度与宽度
            System.out.println("高度:"+window.getSize().height+",宽度:"+window.getSize().width);
            //根据坐标,窗口显示在指定的位置
            window.setPosition(new Point(200,500));
            Thread.sleep(2000);
            //设置窗口的大小
            window.setSize(new Dimension(200,600));
            //输入123
            driver.findElement(By.id("kw")).sendKeys("123");
            //百度搜索一下
            driver.findElement(By.id("su")).click();
            //设置强等待
            Thread.sleep(3000);
            //关闭浏览器
            driver.quit();
        }
    }

    还有导航栏,刷新等操作方法

    package com.web_java01;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.Dimension;
    import org.openqa.selenium.Point;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    import org.testng.annotations.Parameters;
    import org.testng.annotations.Test;
    
    import java.awt.*;
    
    public class web_test02 {
        @Parameters(value = {"browserType"})
        @Test
        public  void test(String browserType) throws InterruptedException {
            System.out.println("浏览器为:"+browserType);  //浏览器为:filefox
            // 指定浏览器驱动路径
            System.setProperty ( "webdriver.chrome.driver", "driver\chromedriver.exe" );
            WebDriver driver = new ChromeDriver();
            //访问百度
            driver.get("http://www.baidu.com");
            //输入123
            driver.findElement(By.id("kw")).sendKeys("123");
            //百度搜索一下
            driver.findElement(By.id("su")).click();
            //再访问外卖网站
            driver.get("http://121.41.14.39:8082/shop/index.html#/login");
            //再进行导航栏后退操作
            driver.navigate().back();
            Thread.sleep(1000);
            //再进行导航栏前进操作
            driver.navigate().forward();
            //设置强等待
            Thread.sleep(3000);
            //刷新当前页面
            driver.navigate().refresh();
            //关闭浏览器
            driver.quit();
        }
    }
  • 相关阅读:
    常见DOS命令
    前台传参到后台出现中文乱码问题
    Servlet.init() for servlet [spring-dispatcher] threw exception
    ES6-2
    ES6语法(一)
    JS区分对象类型
    ko数组
    sortable的基本属性
    MUI消息推送
    target和currentTarget
  • 原文地址:https://www.cnblogs.com/zhaobobo001/p/14652830.html
Copyright © 2011-2022 走看看