Selenium+Java完整框架搭建

Posted qingxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium+Java完整框架搭建相关的知识,希望对你有一定的参考价值。

一、WebDriver框架开发实战

1、框架的思想

(1)什么是框架?

  • 框架是可以被应用开发者定制的应用骨架

(2)为什么要写框架?

  • 提高脚本可维护性
  • 提高编写脚本的速度
  • 提高脚本可阅读性

(3)框架的几个要素?

  • driver管理,等待管理,常用方法封装,LOG,常用类封装,数据,失败重跑等等

2、前期准备-框架搭建前期步骤

  • 通过IDEA新建个项目名TestAutomation2019的Maven工程
  • 导入Selenium和TestNG对应的jar包
  • 在工程根目录新建一个driver文件夹,放置driver
  • 新建一个包:com.autoframework

3、Driver管理

  • 在com.autoframework下新建driver包
  • 在driver包下新建SeleniumDriver类
  • 封装driver
  • 代码实例演示
  • 测试
package com.lixx.drivers;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.edge.EdgeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
public class SeleniumDriver1 {
    public static WebDriver driver;
    public static WebDriver initialDriver(String browser){
        //获取当前工程根目录
        String path = System.getProperty("user.dir");
        if (browser.equals("chrome")){
            System.setProperty("webdriver.chrome.driver", path + "/driver/chromedriver.exe");
            driver = new ChromeDriver();
        }else if (browser.equals("ie")){
            System.setProperty("webdriver.ie.driver", path + "/driver/IEDriverServer.exe");
            driver = new InternetExplorerDriver();
        }else if (browser.equals("firefox")){
            driver = new FirefoxDriver();
        }else if (browser.equals("edge")){
            System.setProperty("webdriver.edge.driver", path + "/driver/MicrosoftWebDriver.exe");
            driver = new EdgeDriver();
        }else {
            System.out.println("您输入的浏览器名称有误,请确认!");
        }
        return driver;
    }
}

4、元素等待方法封装

  • 在com.autoframework下新建element包
  • 在element包下新建WebElementUtils类并继承SeleniumDriver类
  • 二次封装findElement和findElements方法
  • 代码实例演示
  • 测试

 

以上是关于Selenium+Java完整框架搭建的主要内容,如果未能解决你的问题,请参考以下文章

java+Selenium+TestNg搭建自动化测试架构实现代码和数据的分离

Java+Maven+selenium+testing+reportNG自动化测试框架

数据驱动 vs 关键字驱动:对搭建UI自动化测试框架的探索

Java+selenium+Fitnesse

java selenium 环境搭建方法一

如何在使用selenium python切换帧时获得完整的html代码?