首页 > 其他分享 >Selenium基础

Selenium基础

时间:2024-12-12 23:00:56浏览次数:6  
标签:WebDriver 测试 基础 driver 版本 自动化 Selenium

'''
# Selenium基础

## Selenium介绍

自动化测试技术非常多。Playwright,Cypress,AirTest,Selenium等等等等。有非常多各种自动化技术。目前国内应用最主流的还是Selenium。其余的技术体系相对而言还是在市场属于小众范畴。Appium本质上就是继承于Selenium而实现的。

Selenium被称之为是最接近人类实际操作行为的UI自动化测试技术。因为Selenium本质就是基于JS作为核心底层来实现的自动化测试技术。

1. Selenium1,是自动化测试真正意义上开始流行的起点,叫做Selenium IDE,其实就是火狐浏览器的一个插件。支持录制和回放。
2. Selenium2,基于Selenium+WebDriver的技术形态实现的自动化测试技术。完整版本中依旧包含有Selenium IDE
3. Selenium3,存在时间最长久的一个版本。完全摈弃掉SeleniumIDE,基于Selenium+WebDriver来实现的纯编程自动化测试
4. Selenium4,本质上没有太大区别,只是优化了部分方法和函数的调用。重新推出了Selenium IDE

从Selenium3开始有的一个技术叫做Selenium Grid,主要用于实现分布式自动化测试框架部署与执行的插件。

Selenium之所以成为市场主流是因为它开源跨平台的实力。

## Selenium+WebDriver

- Python安装,版本一定不能低于3.10。正常安装3.11或者12都可以。
- Selenium,pip install selenium即可实现安装。
- 安装WebDriver:确定自己的浏览器类型和版本。
  - 老版本需要手动下载安装。下载地址:https://googlechromelabs.github.io/chrome-for-testing/(所有的最新版本都在这里下载。)
  - 下载的driver不用管第四位版本,越近越好,不需要完全一致。
  - 将chromedriver.exe解压到你的Python根路径下
  - 新版本不需要下载安装(Selenium 4.6以上版本),程序启动的时候会自动帮你下载对应的WebDriver
    - 自动安装是有缺陷的。每次程序启动都会去下载。
    - 通过添加Service参数来手动配置Selenium读取的ChromeDriver路径
- 浏览器一定安装在默认路径下,选择官方版本的浏览器。
- 安装成功

'''
from time import sleep

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# Selenium的第一个Demo实现

#配置Service
service = Service('../chromedriver.exe')
# 启动浏览器
driver = webdriver.Chrome(service=service)

#访问url
driver.get('http://www.baidu.com')

#找到输入框元素
el = driver.find_element('id','kw')
el.send_keys('python自动化测试')

#找到百度一下按钮
el = driver.find_element('id','su')
el.click()  #点击以下

sleep(5)

 

标签:WebDriver,测试,基础,driver,版本,自动化,Selenium
From: https://www.cnblogs.com/mafei666/p/18603610

相关文章

  • 使用C语言实现队列:基础与实践
    队列(Queue)是一种常见的数据结构,遵循“先进先出”(FIFO,FirstInFirstOut)的原则。队列在许多计算机科学领域中有着广泛的应用,例如任务调度、缓冲区管理等。本文将以C语言为例,详细介绍如何实现一个简单的队列,包括两种主要实现方式:基于数组和基于链表的实现。队列的基本操作一个队......
  • html基础-表格
    表格标签的简单介绍:<table><tr><th></th><td></td></tr></table><!--table是表格标签tr是行td是每一个单元格th是表头,有加粗剧中的功能他们之间是需要互相嵌套tr必须嵌套在tabletd和th必须签到到tr之中-->写法<table>......
  • 专为高性能汽车设计的Armv9架构的Neoverse V3AE CPU基础知识与软件编码特性解析
    一、ARMv9以及V3AE处理器架构Armv9架构的ArmNeoverseV系列处理器是专为高性能计算设计的产品线,其中V3AE(AdvancedEfficiency)特别强调了性能与效率之间的平衡。以下是关于Armv9架构下NeoverseV3AE处理器结构和指令集的一些详细解读:Armv9架构概述Armv9是ARM最新一代......
  • 一、HTML基础实例
    1.HTML文档(1)所有HTML文档都必须以文档类型声明开头:。(2)HTML文档以开始,以结束。(3)HTML文档的可见部分位于和之间。实例:<!DOCTYPEhtml><html><body><h1>我的第一个标题</h1><p>我的第一个段落。</p></body></html>2.<!DOCTYPE>声明(1)&l......
  • 用C语言实现栈:从基础到实战
    栈(Stack)是一种基础的数据结构,遵循后进先出(LIFO,LastInFirstOut)的原则。它被广泛应用于函数调用、表达式求值、括号匹配等问题中。在这篇技术博客中,我们将详细介绍如何使用C语言实现一个栈,并涵盖基本的操作以及实战应用。什么是栈?栈是一种特殊的线性表,只允许在一端进行插入和......
  • 零基础前端项目实战】数据大屏可视化项目完整教程 - 手把手教你用Vue+ECharts打造炫酷
    效果图:完整代码<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>数据大屏展示</title><scriptsrc="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script><scrip......
  • 【网络安全零基础入门到精通教程】Web渗透信息收集之域名、端口、服务、指纹、旁站、C
    声明:本人坚决反对利用教学方法进行恶意攻击的行为,一切错误的行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解技术背后的原理,更好地进行安全防护。文章目录一.Web渗透第一步二.域名信息收集1.域名查询2.Whois查询3.备案信息查询三.Web站点信息收集1.CMS指纹......
  • Redis 基础知识
    Redis基础1.什么是Redis?Redis是一个开源的、高性能的内存数据库,也可以用作缓存和消息队列。它以键值对的形式存储数据,并支持丰富的数据结构。Redis被广泛应用于Web、物联网、游戏等需要高吞吐和低延迟的场景。官网:https://redis.io/开发语言:CLicense:BSD3-Clause......
  • Pytorch学习_03 Tensor(上):基础计算单元
    目录什么是TensorTensor的类型、创建及转换Tensor的类型Tensor的创建直接创建从NumPy中创建创建特殊形式的TensorTensor的转换Tensor的常用操作获取形状矩阵转秩(维度转换)形状变换增减维度小结什么是TensorTensor是深度学习框架中极为基础的概念,也是PyTroch......
  • 【算法基础】图的存储与遍历
    一、图的存储在我们存储图的时候,主要使用邻接矩阵、邻接表两种方式来存储。通常邻接矩阵存储稠密图(边多),临界矩阵存储稀疏图(边少)。1.1邻接矩阵存储邻接矩阵听起来比较高大上,其实就是用二维数组来表示\(a\)点与\(b\)点之间有一条边。例如在上述无向图中\(1\)与\(4\)之......