• 第一个web自动化测试脚本


    1,之前因为进行APP自动化,因为Eclipse已经配置过了Maven

    2,创建Maven项目

    3.引入selenium 框架

    查看maven仓库:http://mvnrepository.com/

    搜素selenium java

    复制到eclipse的pom。xml

    <project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>come.test</groupId>
     <artifactId>WebAuto</artifactId>
     <version>0.0.1-SNAPSHOT</version>
     <dependencies>
      <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
      <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-java</artifactId>
       <version>3.141.59</version>
      </dependency>
     </dependencies>
    </project>

    4.在eclipse->src/test/java创建一个package,再创建一个class

    package WebTest002;
    import org.openqa.selenium.chrome.ChromeDriver;
    public class WebAuto002 {
     public static void main(String []args) {
      //1.打开浏览器chrome
      ChromeDriver chromeDriver = new ChromeDriver();
     }
    }
     
    5.运行会报错,要配置webdriver。
    6.下载:http://npm.taobao.org/mirrors/chromedriver/2.40/

     解压chromedriver 然后复制到eclipse-》src/test/resource

    7.更新代码:

    package WebTest002;
    import org.openqa.selenium.chrome.ChromeDriver;
    public class WebAuto002 {
     public static void main(String []args) {
      System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
      //1.打开浏览器chrome
      ChromeDriver chromeDriver = new ChromeDriver();
     }
    }
    8.访问个百度网页
    package WebTest002;
    import org.openqa.selenium.chrome.ChromeDriver;
    public class WebAuto002 {
     public static void main(String []args) {
      System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
      //1.打开浏览器chrome
      ChromeDriver chromeDriver = new ChromeDriver();
      //2.访问百度
      chromeDriver.get("http://www.baidu.com");
     }
    }
     
    现在第一个CHrome自动化打开页面完成!
     
    火狐浏览器我很少使用,所以火狐的配置和自动化此处省略
     继续配置IE浏览器自动化
    1.下载http://selenium-release.storage.googleapis.com/index.html?path=3.141/
    IEdriver -》 解压IEDriverServer_x64_3.141.5.zip 然后复制到eclipse-》src/test/resource
    打开IE浏览器->工具->安全->全部勾选启用保护模式
    这些配置完成还会报错,自动化运行IE,问题截图如下

    报错Java如下

    手动IE页面-》缩放改成100%

    运行成功

    脚本如下:

    package WebTest002;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.ie.InternetExplorerDriver;
    public class WebAuto002 {
     public static void main(String []args) {
      //openChrome();
      openIE();
     }
     
     public static void openChrome() {
     System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
     //1.打开浏览器chrome
     ChromeDriver chromeDriver = new ChromeDriver();
     //2.访问百度
     chromeDriver.get("http://www.baidu.com");
    }
     public static void openIE() {
      System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe");
      //1.打开浏览器IE
      InternetExplorerDriver IEDriver = new InternetExplorerDriver();
      //2.访问百度
      IEDriver.get("http://www.baidu.com");
     }
     
     
    }
     
     
     
    自动化配置搭建过程中遇到问题参考:https://www.cnblogs.com/yyoba/p/12048866.html

     但是IE自动化过程中遇到的页面缩放比例报错的问题,如果手工改成100%,换其他电脑还是手动执行,不太友好,代码写入解决这个问题

    这样就不需要手动IE勾选安全模式和缩放模式

    脚本更新如下:

    package WebTest002;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.ie.InternetExplorerDriver;
    import org.openqa.selenium.remote.DesiredCapabilities;
    public class WebAuto002 {
     public static void main(String []args) {
      //openChrome();
      openIE();
     }
     
     public static void openChrome() {
     System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
     //1.打开浏览器chrome
     ChromeDriver chromeDriver = new ChromeDriver();
     //2.访问百度
     chromeDriver.get("http://www.baidu.com");
    }
     public static void openIE() {
      //取消IE安全设置(忽略IE的Protected Mode的设置)
      DesiredCapabilities capabilities = new DesiredCapabilities();
      capabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
      //忽略缩放设置
      capabilities.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
      
      System.setProperty("webdriver.ie.driver", "src/test/resources/IEDriverServer.exe");
      //1.打开浏览器IE
      InternetExplorerDriver IEDriver = new InternetExplorerDriver(capabilities);
      //2.访问百度
      IEDriver.get("http://www.baidu.com");
     }
     
     
    }
     
     
  • 相关阅读:
    违反了引用完整性约束。Dependent Role 具有多个具有不同值的主体。S级乌龙,自己制造的笑话
    用MVC5+EF6+WebApi 做一个小功能(二) 项目需求整理
    用MVC5+EF6+WebApi 做一个小功能(四) 项目分层功能以及文件夹命名
    用MVC5+EF6+WebApi 做一个小功能(三) 项目搭建
    ASP.NET WebApi总结之自定义权限验证
    用MVC5+EF6+WebApi 做一个小功能(一)开场挖坑,在线答题系统
    Javascript 535种方式!!!实现页面重载
    MVC页面移除HTTP Header中服务器信息
    为什么JavaScript要有null?(翻译)
    可编程渲染管线与着色器语言
  • 原文地址:https://www.cnblogs.com/JacquelineQA/p/12589456.html
Copyright © 2020-2023  润新知