test ui-01-UI 测试组件之 Selenium 入门介绍

这篇具有很好参考价值的文章主要介绍了test ui-01-UI 测试组件之 Selenium 入门介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Selenium 浏览器自动化项目

Selenium 是一个涵盖多种工具和库的项目,旨在支持和实现对 Web 浏览器的自动化。

它提供了扩展来模拟用户与浏览器的交互,一个用于扩展浏览器分配的分发服务器,以及符合 W3C WebDriver 规范的基础设施,使您能够为所有主要的 Web 浏览器编写可互换的代码。

这个项目得以实现,得益于那些自愿贡献的志愿者,他们投入了数千小时的个人时间,并将源代码免费提供给任何人使用、享受和改进。

Selenium 将浏览器供应商、工程师和热衷者聚集在一起,促进了关于 Web 平台自动化的开放讨论。该项目每年都会组织一次会议,以教授和培养社区。

在 Selenium 的核心是 WebDriver,它是一个编写指令集的接口,可以在许多浏览器中互换运行。

一旦您安装好一切,只需几行代码,您就可以进入浏览器。

您可以在《编写您的第一个 Selenium 脚本》中找到更详细的示例。

java 例子

package dev.selenium.hello;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class HelloSelenium {
    public static void main(String[] args) {
        WebDriver driver = new ChromeDriver();

        driver.get("https://selenium.dev");

        driver.quit();
    }
}

入门指南

如果您是初次接触 Selenium,我们有一些资源可以帮助您立即掌握要领。

Selenium 支持通过 WebDriver 实现对市场上所有主要浏览器的自动化。

WebDriver 是一个 API 和协议,定义了一种与控制 Web 浏览器行为的语言无关的接口。

每个浏览器都由一个特定的 WebDriver 实现支持,称为驱动程序。驱动程序是将指令传递给浏览器并处理 Selenium 与浏览器之间通信的组件。

这种分离是有意为之的,目的是让浏览器供应商对其浏览器的实现负责。Selenium 尽可能利用这些第三方驱动程序,但也为那些这不是现实的情况提供了由项目维护的自己的驱动程序。

Selenium 框架通过用户界面将所有这些部分联系在一起,使不同的浏览器后端能够透明地使用,实现跨浏览器和跨平台的自动化。

Selenium 的设置与其他商业工具的设置非常不同。在您可以开始编写 Selenium 代码之前,您必须安装所选语言的语言绑定库、要使用的浏览器以及该浏览器的驱动程序。

请按以下链接了解如何使用 Selenium WebDriver。

如果您想使用低代码/录制和回放工具开始,请查看 Selenium IDE。

一旦您使一切正常运行,如果您想扩大测试范围,请查看 Selenium Grid。

安装 lib

设置您喜欢的编程语言的 Selenium 库。

首先,您需要为自动化项目安装 Selenium 绑定。库的安装过程取决于您选择使用的语言。

确保您查看 Selenium 下载页面,以确保您使用的是最新版本。

以 java maven 为例子

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

第一个脚本

八个基本组件

Selenium 所做的一切都是向浏览器发送命令以执行某些操作或发送请求获取信息。您在使用 Selenium 时将主要使用这些基本命令的组合。

点击链接“在 GitHub 上查看完整示例”以查看上下文中的代码。

1. 启动会话

WebDriver driver = new ChromeDriver();

2. 执行动作

driver.get("https://www.selenium.dev/selenium/web/web-form.html");

3. 请求浏览器信息

driver.getTitle();

4. 建立等待策略

与浏览器的当前状态同步代码是使用 Selenium 面临的最大挑战之一,而良好地执行这一点是一个高级话题。

基本上,您希望确保在尝试定位元素之前该元素在页面上,且在尝试与之交互之前该元素处于可交互状态。

隐式等待很少是最佳解决方案,但在这里它是最容易演示的,因此我们将其用作占位符。

阅读有关等待策略的更多信息。

driver.manage().timeouts().implicitlyWait(Duration.ofMillis(500));

5. 发现一个元素

WebElement textBox = driver.findElement(By.name("my-text"));
WebElement submitButton = driver.findElement(By.cssSelector("button"));

6. 元素上执行动作

textBox.sendKeys("Selenium");
submitButton.click();

7. 请求元素信息

message.getText();

8. 退出

driver.quit();

实际使用

如果您想运行超过少数一次性脚本,您需要能够组织和处理您的代码。这一页应该为您提供如何实际用 Selenium 代码执行有意义的任务的想法。

常见用途

大多数人使用 Selenium 执行 Web 应用程序的自动化测试,但 Selenium 支持浏览器自动化的任何用例。

重复性任务

也许您需要登录到网站并下载一些东西,或者提交一个表单。您可以创建一个 Selenium 脚本,定期在预设时间运行。

网页抓取

您是否希望从一个没有 API 的网站收集数据?Selenium 可以帮助您做到这一点,但请确保您熟悉该网站的服务条款,因为有些网站不允许这样做,而其他网站甚至会阻止 Selenium。

测试

在测试中运行 Selenium 需要对 Selenium 执行的操作进行断言。因此,需要一个良好的断言库。为测试提供结构的其他功能需要使用测试运行器。

代码合并

把上面的代码合并:文章来源地址https://www.toymoban.com/news/detail-770974.html

package dev.selenium.getting_started;

import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

import java.time.Duration;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class UsingSeleniumTest {

    @Test
    public void eightComponents() {
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.selenium.dev/selenium/web/web-form.html");

        String title = driver.getTitle();
        assertEquals("Web form", title);

        driver.manage().timeouts().implicitlyWait(Duration.ofMillis(500));

        WebElement textBox = driver.findElement(By.name("my-text"));
        WebElement submitButton = driver.findElement(By.cssSelector("button"));

        textBox.sendKeys("Selenium");
        submitButton.click();

        WebElement message = driver.findElement(By.id("message"));
        String value = message.getText();
        assertEquals("Received!", value);

        driver.quit();
    }

}

到了这里,关于test ui-01-UI 测试组件之 Selenium 入门介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • test-01-java 单元测试框架 junit 入门介绍

    JUnit 是一个用于编写可重复测试的简单框架。 它是 xUnit 架构的一种实例,专门用于单元测试框架。 What to test? Need Desc Right 结果是否正确 B 边界条件是否满足 I 能反向关联吗 C 有其他手段交叉检查吗 E 是否可以强制异常发生 P 性能问题 CalculatorTest 类包含了一个测试方法 test

    2024年02月04日
    浏览(31)
  • Python Selenium UI自动化测试_python 自动化ui测试

    2.2 安装selenium pip install selenium pip install selenium==2.53.0 2.3 下载webdriver驱动 以chrome浏览器为例 查看chrome浏览器版本:在地址栏输入 chrome://version chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html 下载与浏览器版本对应的chrome driver 将下载好的chrome driver 解压,并放至到

    2024年04月14日
    浏览(54)
  • selenium测试框架快速搭建(UI自动化测试)

    一、介绍         selenium目前主流的web自动化测试框架;支持多种编程语言Java、pythan、go、js等;selenium 提供一系列的api 供我们使用,因此在web测试时我们要点页面中的某一个按钮,那么我们只需要获取页面,然后根据id或者name找到对应的按钮,然后执行click操作就可以完成

    2024年02月02日
    浏览(50)
  • selenium-基于UI的自动化测试框架

      自动化测试是指软件测试的自动化,在预设状态下运行应用程序或者系统,预设条件包括正常和异常,最后评估运行结果,将人为驱动的测试行为转化为机器执行的过程   自动化测试包括UI自动化、接口自动化、单元测试自动化。按照这个金字塔模型来进行自动化测试

    2024年02月05日
    浏览(42)
  • Pytest+selenium UI自动化测试实战实例

    今天来说说pytest吧,经过几周的时间学习,有收获也有疑惑,总之最后还是搞个小项目出来证明自己的努力不没有白费。 1    确保您已经安装了 python3.x 2    配置 python3+pycharm+selenium2 开发环境     3    安装pytest库 pip install pytest 4    安装pytest -html 报告插件 pip install pytest

    2024年02月05日
    浏览(41)
  • Python Selenium搭建UI自动化测试框架

    自动化测试是软件测试中非常重要的一部分,可以提高测试效率和测试覆盖率。在UI自动化测试中,Selenium是非常流行的工具。本文将介绍如何使用Python和Selenium搭建UI自动化测试框架。 在开始搭建UI自动化测试框架之前,需要先安装Python和Selenium。可以从Python官网下载Python安装

    2023年04月27日
    浏览(44)
  • Selenium之路: UI自动化测试的必备指南

    自动化测试指软件测试的自动化,可以使用软件工具或脚本来执行测试任务的过程,以替代人工进行重复性、繁琐或耗时的测试活动;是将人为驱动的测试行为转化为机器执行的过程 。 自动化测试包括 UI 自动化,接口自动化,单元测试自动化。 Selenium 是 Web 应用中基于 UI

    2024年04月22日
    浏览(52)
  • selenium UI自动化PO模式测试框架搭建

    熟悉业务-》确定方案-》选取场景-》了解前端-》定位元素-》编写脚本-》运行优化-》回归报告-》项目汇总 价值意义: 自动化执行需要:模块化 需要可制定化执行 可复用性 PO模式: 将页面定位和业务分开,元素的定位单独处理,执行脚本单独封装。维护方便。 封装BasePag

    2024年02月04日
    浏览(36)
  • Pytest+Selenium UI自动化测试实战实例(全)

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 , 免费获取软件测试全套资料,资料在手,涨薪更快 今天来说说pytest吧,经过几周的时间学习,有收获也有疑惑,总之最后还是搞个小项目出来证明自己的努力不没有白费 1    确保您

    2024年03月19日
    浏览(54)
  • 基于Selenium和python的UI自动化测试方案

    对于比较复杂的系统,每次有小的迭代测试同学不可能会把所有的流程验证一遍,如果开发无意改动影响了某些流程而测试又没测试到,就可能会出现生产问题,因此很有必要通过自动化的测试去确保系统的稳定性。自动化测试可以选择接口自动化测试和UI自动化测试,从复

    2024年02月04日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包