IDEA集成selenium自动化测试(Java+Selenuim+testNG+Maven)

写在前面

  • 因为软件测试的需求和博主比较经常使用Java,于是,想在Idea中集成selenuim,用Java编写测试代码,因此有了这篇文章来记录一下过程。

  • 资源指路:

    1. java使用selenium实现模拟浏览器操作API大全 模拟登录
    2. TestNG入门教程

    感谢上面博客的大佬。

  • 另外,如果你不用maven的话,也可去官网自行下载jar包进行导入。资源下载指路:selenium+IDEA
    在这里插入图片描述
    PS: edge浏览器版本为87.0.664, 无积分同学可私信我传给你。

01 | 新建Maven项目

  • 不使用骨架创建,直接点击左侧Maven,然后一路next即可。

02 | idea集成Selenium

  1. pom.xml中添加selenium的依赖
    <?xml version="1.0" encoding="UTF-8"?>
    <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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
            <modelVersion>4.0.0</modelVersion>
        
            <dependencies>
                <!-- selenium-java -->
                <dependency>
                    <groupId>org.seleniumhq.selenium</groupId>
                    <artifactId>selenium-java</artifactId>
                    <version>3.4.0</version>
                </dependency>
                <dependency>
                    <groupId>org.seleniumhq.selenium</groupId>
                    <artifactId>selenium-api</artifactId>
                    <version>3.14.0</version>
                </dependency>
            </dependencies>
    </project>
    
  2. 下载安装浏览器驱动
    1. 先查看自己浏览器的版本:打开浏览器–》点击右上角三个点–》帮助与反馈–》关于microsoft Edge
      在这里插入图片描述

    2. 去selenium官网下载对应浏览器与对应版本的驱动(selenium官网需要科学上网,另外,我的电脑安装了vmware之后,因为vmware证书的问题不能科学上网了,如果有小伙伴知道怎么解决的话我虚心求教!!)

      打开Seleniun官网 https://www.selenium.dev
      选择文档 Documentation
      选择Selenium安装 https://www.seleniumdev/documentation/zh-cn/selenium_installation
      选择安装WebDriver二进制文件https://www.seleniumdev/documentation/zh-cn/selenium_installation/installing_webdriver_binaries
      选择WebDriver二进制文件https://www.seleniumdev/documentation/zh-cn/webdriver/driver_requirements
      找到快速参考,如下图所示 :
      在这里插入图片描述

    3. 如果你不想去seleium官网下载驱动的话也可以尝试以下地址:
      各浏览器下载地址:
      Firefox浏览器驱动:geckodriver
      Chrome浏览器驱动:chromedriver
      IE浏览器驱动:IEDriverServer
      Edge浏览器驱动:MicrosoftWebDriver
      注:部分浏览器驱动地址需要科学上网。

03 | IDEA集成testNG

  1. 下载插件create TeatNG xml
  2. 在pom.xml中添加依赖
    <dependency>
                <groupId>org.testng</groupId>
                <artifactId>testng</artifactId>
                <version>6.10</version>
    </dependency>
    

04 | 编写测试代码

	import org.openqa.selenium.WebDriver;
	import org.openqa.selenium.edge.EdgeDriver;
	import java.io.File;
	
	public class test {
	    public static void main(String[] args) {

	        File file = new File("Z:\\Lj\\driver\\msedgedriver.exe");
	        System.setProperty("webdriver.edge.driver",file.getAbsolutePath());
	        WebDriver driver = new EdgeDriver();
	        driver.get("https://www.baidu.com/");

	        String title = driver.getTitle();
	        System.out.printf(title);

			driver.close();
		}

	}



05 | 用selenium自动化测试项目登录功能

//import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.edge.EdgeDriver;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.io.File;

public class testLogin {
    @DataProvider(name="testdata")
    public Object[][] TestDataFeed(){
        //创建一个二维数组
        Object [][] baidudata=new Object[5][2];

        // 设置数组的元素值,这里是设置第一个用户名 : 用户名和密码都错误
        baidudata[0][0]="java";
        // 设置第一个用户密码
        baidudata[0][1]="java";

        // 设置第二个用户名称 :  用户名和密码都正确
        baidudata[1][0]="123";
        // 设置第二个用户密码
        baidudata[1][1]="123";

        // 设置第三个用户名称 : 用户名和密码都为空
        baidudata[2][0]="";
        // 设置第三个用户密码
        baidudata[2][1]="";

        // 设置第四个用户名称  :用户名正确,密码错误
        baidudata[3][0]="123";
        // 设置第四个用户密码
        baidudata[3][1]="1234";

        // 设置第五个用户名称  :用户名错误,密码正确
        baidudata[4][0]="aaa";
        // 设置第五个用户密码
        baidudata[4][1]="123";

        // 返回数据传给脚本
        return baidudata;

    }

    @Test(dataProvider = "testdata")
    public void TestLogin1(String username, String password) throws InterruptedException {
        File file = new File("Z:\\Lj\\driver\\msedgedriver.exe");
        System.setProperty("webdriver.edge.driver",file.getAbsolutePath());
        WebDriver driver = new EdgeDriver();
        driver.manage().window().maximize();
        driver.get("http://localhost:8080/loginPage");


        WebElement text_name = driver.findElement(By.id("name"));
        WebElement text_pwd = driver.findElement(By.id("password"));

        driver.findElement(By.id("name")).clear();
        text_name.sendKeys(username);
        Thread.sleep(1000);
        driver.findElement(By.id("password")).clear();
        text_pwd.sendKeys(password);
        Thread.sleep(1000);
        text_pwd.submit();

        Thread.sleep(1000);
        //        关闭页面,关闭相关进程
        driver.quit();

    }
}

06 | testNG导出测试报告

在这里插入图片描述
在这里插入图片描述

07 | pom.xml依赖飘红处理方法

  • 如果你遇到如下情况:依赖死活飘红,且左侧项目树形结构目录有红色波浪线,那么可以手动导入jar包。
    在这里插入图片描述

  • 手动导入jar包方法:
    file—》project structure–》libraries
    在这里插入图片描述

完成。

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Java Maven TestNG SeleniumUI自动化框架是一种基于Java语言、使用Maven作为构建工具、TestNG作为测试框架、SeleniumUI作为Web应用自动化测试工具的自动化测试框架。 - Java是一种跨平台的编程语言,被广泛应用于软件开发领域。使用Java语言可以编写可靠、高效、可扩展的自动化测试脚本。 - Maven是一个项目管理工具,通过定义项目的依赖关系和构建过程,能够自动下载和安装项目的相关依赖,简化了项目的构建和部署过程。 - TestNG是一个基于Java的测试框架,具有丰富的测试功能和灵活的配置选项,可以支持测试用例的并发执行、测试结果的报告生成等多种功能,提高了自动化测试的效率和可维护性。 - Selenium是一个Web应用自动化测试工具,通过模拟用户操作浏览器行为,可以对Web应用进行自动化测试。UI代表用户界面,Selenium可以对Web界面进行操作和验证。 Java Maven TestNG SeleniumUI自动化框架的使用可以帮助开发团队快速构建自动化测试环境,提高测试效率和质量。通过使用Maven作为构建工具,可以灵活管理项目的依赖,并提供自动化构建、部署和测试的能力。TestNG作为测试框架,提供了丰富的测试功能和灵活的配置选项,可以方便地编写和执行各种类型的测试。而SeleniumUI作为Web应用自动化测试工具,可以模拟用户操作浏览器行为,对Web界面进行自动化测试。 总之,Java Maven TestNG SeleniumUI自动化框架结合了Java语言、Maven工具、TestNG框架和SeleniumUI工具的优势,可以帮助开发团队高效地进行自动化测试,并提升项目的质量和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值