自动化测试——selenium工具(web自动化测试)

1、自动化测试

优点:通过自动化测试有效减少人力的投入,同时提高了测试的质量和效率。

           也用于回归测试。随着版本越来越多,版本回归的压力越来越大,仅仅通过人工测试             来回归所以的版本肯定是不现实的,所以我们需要借助自动化测试。

2、自动化测试的分类

接口自动化测试

UI自动化测试(界面测试):

                      移动端自动化测试

                      web端自动化测试

3、selenium(web自动化测试工具)

  • 为什么选择selenium作为我们的web自动化测试工具?

答:1)开源免费

        2)支持多浏览器。如:Chrome、Firefox、IE浏览器等等

        3)支持多系统。如:Linux、Windows、MacOS.....

        4)支持多语言。如:Java、Python、CSharp、Ruby、JavaScript、Kotlin

        5)selenium包里提供了很多可供测试使用的API。

4、环境部署

使用selenium实施web自动化测试,需要的环境有:

  • Chrome浏览器
  • 谷歌驱动(ChromeDriver)
  • selenium工具包

一个简单的自动化代码示例:

首先导入selenium包:

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.0.0</version>
        </dependency>

简单自动化百度搜索蔡徐坤代码:

public void caixukunTest() throws InterruptedException {
        //打开浏览器
        ChromeDriver driver = new ChromeDriver();
        Thread.sleep(2000);
        //在浏览器输入百度网址,访问百度网页
        driver.get("https://www.baidu.com");
        Thread.sleep(2000);
        //找到百度首页的输入框元素,输入关键词 蔡徐坤
        driver.findElement(By.cssSelector("#kw")).sendKeys("蔡徐坤");
        Thread.sleep(2000);
        //找到百度首页”百度一下“按钮,并点击
        driver.findElement(By.cssSelector("#su")).click();
        Thread.sleep(2000);
        //结束会话(关闭浏览器)
        driver.quit();
    }

简单自动化实例的五个主要步骤:

  • 创建驱动实例,创建会话
  • 访问网站
  • 查找元素
  • 操作元素
  • 结束会话

5、selenium常用方法

5.1 查找页面元素

findElement()

参数:By类(提供什么方式来查找元素)

返回值:webElement

findElements()

参数:By类(提供什么方式来查找元素)

返回值:List<WebElement>

5.2 元素的定位 By类

selector:基础选择器/复合选择器

功能:选中页面中指定的标签元素

xpath

语法:

  • 层级:/子级 // 跳级
  • 属性:@
  • 函数:contains()......

自动化里要求元素的定位必须唯一。但是在手动复制selector或者xpath元素的时候不一定是唯一的,需要我们手动修改到唯一的。

相关推荐

  1. Web测试自动化工具Selenium的使用

    2024-01-26 23:50:02       61 阅读
  2. Selenium Web网页自动化测试

    2024-01-26 23:50:02       62 阅读
  3. Selenium——基于Web的UI自动化测试工具(一)

    2024-01-26 23:50:02       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-26 23:50:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-26 23:50:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-26 23:50:02       82 阅读
  4. Python语言-面向对象

    2024-01-26 23:50:02       91 阅读

热门阅读

  1. 整数反转算法(leetcode第7题)

    2024-01-26 23:50:02       53 阅读
  2. vue3常用代码

    2024-01-26 23:50:02       58 阅读
  3. Oracle中如何把整个表作为参数传递

    2024-01-26 23:50:02       49 阅读
  4. sudo 授权问题

    2024-01-26 23:50:02       53 阅读
  5. Python中写入csv格式文件出现乱码的解决方法

    2024-01-26 23:50:02       54 阅读
  6. Git 对文件名大小写不敏感的问题解决方案

    2024-01-26 23:50:02       59 阅读
  7. 常见的循环结构

    2024-01-26 23:50:02       52 阅读
  8. 温湿度传感器的工作原理

    2024-01-26 23:50:02       53 阅读
  9. ChatGPT AI革命-阅读心得

    2024-01-26 23:50:02       86 阅读
  10. 数字图像处理:图像内插

    2024-01-26 23:50:02       48 阅读
  11. python+matlab text(按图的相对位置显示)

    2024-01-26 23:50:02       59 阅读