(Python + Selenium4)Web自动化测试自学Day2之动手尝试

目录

  • 文章声明⭐⭐⭐
  • 让我们开始今天的学习吧!
    • 小试牛刀
    • 关于select标签
    • 关于弹窗
      • 只有一个点击按钮的弹窗
      • 需要确认的弹窗
      • 用户可以输入的弹窗


文章声明⭐⭐⭐

  1. 该文章为我(有编程语言基础,非编程小白)的 Python Selenium4 Web自动化测试自学笔记
  2. 知识来源为 B站UP主(软件测试老白)的Python Selenium4课程视频,归纳为自己的语言与理解记录于此并加以实践
  3. 不出意外的话,我大抵会 持续更新
  4. 想要了解前端开发(技术栈大致有:Vue2/3、微信小程序、uniapp、HarmonyOS、NodeJS、Typescript)与Python的小伙伴,可以关注我!谢谢大家!

让我们开始今天的学习吧!

小试牛刀

首先我们先来做个小案例,要求如下:

  • 进入iview官网(https://www.iviewui.com/)
  • 点击体验免费组件库
  • 依次点击组件-表单-Radio,选择Windows
  • 再点击checkbox,把未勾选上的复选框都勾选上

代码如下:

# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import Byif __name__ == '__main__':# 实例化浏览器对象web = Chrome()# 全屏web.maximize_window()# 使用get方法进入网站web.get('https://www.iviewui.com')time.sleep(1)# 点击体验免费组件库web.find_element(By.XPATH, '//a[@href="/view-ui-plus/"]').click()time.sleep(1)# 点击组件web.find_element(By.XPATH, '//span[text()="组件"]/../..').click()time.sleep(1)# 点击表单web.find_element(By.XPATH, '//span[text()="表单"]/../..').click()time.sleep(1)# 点击Radioweb.find_element(By.XPATH, '//a[@href="/view-ui-plus/component/form/radio"]').click()time.sleep(1)# 点击Windows单选框web.find_element(By.XPATH, '//span[text()="Windows"]/preceding-sibling::span/input').click()time.sleep(1)# 点击checkboxweb.find_element(By.XPATH, '//a[@href="/view-ui-plus/component/form/checkbox"]').click()time.sleep(1)# 依次勾选上那些未勾选上的复选框web.find_element(By.XPATH, '//span[text()="Twitter"]').click()time.sleep(1)web.find_element(By.XPATH, '//span[text()="Snapchat"]').click()time.sleep(1)web.find_element(By.XPATH, '//span[text()="香蕉"]').click()time.sleep(1)web.find_element(By.XPATH, '//span[text()="西瓜"]').click()time.sleep(1)# 停留五秒time.sleep(5)# 关闭浏览器,selenium4加不加close方法都会关闭浏览器web.close()

关于select标签

# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Selectif __name__ == '__main__':# 实例化浏览器对象web = Chrome()# 全屏web.maximize_window()# 使用get方法进入网站web.get('https://sahitest.com/demo/selectTest.htm')time.sleep(1)# 选取select标签my_select = Select(web.find_element(By.ID, 'testInputEvent'))# 根据索引选取值# my_select.select_by_index(3)# 根据value选取值# my_select.select_by_value('value3')# 根据用户可见的选项内容选取值# my_select.select_by_visible_text('Option 2')# 停留五秒time.sleep(5)# 关闭浏览器,selenium4加不加close方法都会关闭浏览器web.close()

关于弹窗

只有一个点击按钮的弹窗

在这里插入图片描述

# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import Byif __name__ == '__main__':# 实例化浏览器对象web = Chrome()# 全屏web.maximize_window()# 使用get方法进入网站web.get('https://sahitest.com/demo/alertTest.htm')time.sleep(1)# 点击按钮弹出弹窗web.find_element(By.NAME, 'b1').click()time.sleep(1)# 输出弹窗内容print(web.switch_to.alert.text)# 点击弹窗的确认按钮web.switch_to.alert.accept()# 停留五秒time.sleep(5)# 关闭浏览器,selenium4加不加close方法都会关闭浏览器web.close()

需要确认的弹窗

在这里插入图片描述

# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import Byif __name__ == '__main__':# 实例化浏览器对象web = Chrome()# 全屏web.maximize_window()# 使用get方法进入网站web.get('https://sahitest.com/demo/confirmTest.htm')time.sleep(1)# 点击按钮弹出弹窗web.find_element(By.NAME, 'b1').click()time.sleep(1)# 输出弹窗内容print(web.switch_to.alert.text)# 点击弹窗的确认按钮# web.switch_to.alert.accept()# 点击弹窗的取消按钮web.switch_to.alert.dismiss()# 停留五秒time.sleep(5)# 关闭浏览器,selenium4加不加close方法都会关闭浏览器web.close()

用户可以输入的弹窗

在这里插入图片描述

# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import Byif __name__ == '__main__':# 实例化浏览器对象web = Chrome()# 全屏web.maximize_window()# 使用get方法进入网站web.get('https://sahitest.com/demo/promptTest.htm')time.sleep(1)# 点击按钮弹出弹窗web.find_element(By.NAME, 'b1').click()time.sleep(1)# 输入内容web.switch_to.alert.send_keys('我输出了内容')# 点击弹窗的确认按钮web.switch_to.alert.accept()# 点击弹窗的取消按钮# web.switch_to.alert.dismiss()# 停留五秒time.sleep(5)# 关闭浏览器,selenium4加不加close方法都会关闭浏览器web.close()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601494.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet 3.0的异步处理

1、传统Servlet处理 Web容器会为每个请求分配一个线程,默认情况下,响应完成前,该线程占用的资源都不会被释放。若有些请求需要长时间(例如长处理时间运算、等待某个资源),就会长时间占用线程所需资源,若这类请求很多&…

印象笔记02: 笔记本管理系统和空间使用

印象笔记02: 笔记本管理系统和空间使用 印象笔记新建笔记是一件非常容易的事情。笔记多了,就是归纳到笔记本里。 印象笔记一共有三层的笔记结构:最高层级是笔记本组,其次是笔记本,最后是一个个的笔记。合理的分类能够…

【计算机毕业设计】SSM在线化妆品网站

项目介绍 本项目为前后台项目,前台为普通用户登录,后台为管理员登录; 管理员角色包含以下功能: 管理员登录,分类管理,产品管理,用户管理,订单管理等功能。 用户角色包含以下功能: 提交订单,用户登录,用户首页,查看…

产品ESD测试

ESD(Electrical Static Discharge)产生的原因多种多样,对集成电路放电的方式也有所不同。为了保证集成电路产品的良率,提高可靠性,需要对电路ESD防护能力进行测试。一般测试分为两类:样品研究型测试和产品通过型测试: …

CHS_01.1.1.1+1.1.3+操作系统的概念、功能

CHS_01.1.1.11.1.3操作系统的概念、功能 操作系统的概念和定义那我们看一下我们现在所使用的电脑是怎么样一步一步变成我们现在看到的这个样子的操作系统 它是计算机系统当中最基本的系统软件 操作系统 它要向上层提供方便应用的服务 这是什么意思呢我们先来看第一种联机命令接…

配置文件的创建和部署

配置描述文件(Configuration Profiles)的格式为xml,其提供了一个非常容易的方式去给电脑、移动设备或用户定义一些设置或限制,你可以使用Jamf Pro去创建这样的配置文件。 (配置文件的负载) 有关配置文件的配…

【电源专题】电池充放电中常说的0.2C是什么概念

在工作中我们时常会听到老员工说拿这个电池去做一下充放电,以0.2C充,0.2C放。那么这个0.2C到底是啥? 这就要说到电池C-rate概念。在《GB 31241:便携式电子产品用锂离子电池和电池安全要求》中我们可以看到3.7中写了额定容量为C,也就是制造商标明的电池或电池组容量。 那么…

Java经典框架之Zookeeper

Zookeeper Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Zookeeper的介绍和安装 2. …

程序性能优化全能手册

本文聊一个程序员都会关注的问题:性能。 当大家谈到“性能”时,你首先想到的会是什么? 是每次请求需要多长时间才能返回? 是每秒钟能够处理多少次请求? 还是程序的CPU和内存使用率高不高? 这些问题基本上…

Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用

前言 前段时间微软发布了适用于VS Code的C#开发工具包(注意目前该包还属于预发布状态但是可以正常使用),因为之前看过网上的一些使用VS Code搭建.NET Core环境的教程看着还挺复杂的就一直没有尝试使用VS Code来编写.NET Core。不过听说C# 开发…

C++结合OpenCV:图像的基本表示方法

1.二值图像 二值图像是指仅仅包含黑色和白色两种颜色的图像。在计算机中,通过一个栅格状排列的数据集(矩阵)来表示和处理图像。例如,图1是一个字母A的图像,计算机在处理该图像时,会首先将其划分为一个个的小…

6 网关和配置服务器

文章目录 网关模式Spring Cloud网关Spring Cloud网关微服务其他项目的变更运行和测试小结 运行状况Spring Boot Actuator在微服务中包含Actuator 服务发现和负载均衡ConsulSpring Cloud ConsulSpring Cloud负载均衡器网关中的服务发现和负载均衡使用服务发现和负载均衡 环境配置…

数据库开发之事务和索引的详细解析

2. 事务 场景:学工部整个部门解散了,该部门及部门下的员工都需要删除了。 操作: -- 删除学工部 delete from dept where id 1; -- 删除成功 ​ -- 删除学工部的员工 delete from emp where dept_id 1; -- 删除失败(操作过程中…

windows下载官方正版notepad++

一、前言 notepad是一款非常好用的编辑器,简洁、快速、高效。可是很多时候我们想去官网下载时,百度出来的都是一堆第三方下载地址,捆绑流氓软件,要么就是付费,作为一款优秀开源软件,我们必须要知道正确的下…

用Redis实现全局唯一ID

全局唯一ID 如果使用数据库自增ID就存在一些问题: id的规律性太明显受表数据量的限制 全局ID生成器,是一种在分布式系统下用来生成全局唯一ID的工具,一般要满足下列特性: 唯一性高可用递增性安全性高性能 为了增加ID的安全性…

Linux环境变量、export命令、env命令、$符号

一、环境变量 我们所使用的一系列命令本质上就是一个个的可执行程序 不管我们当前的工作目录在何处,命令都可以准确执行,这就是环境变量的作用,是借助环境变量中PATH的值来做到的,PATH记录了系统执行任何命令的搜索路径 环境变量…

ansible 配置jspgou商城上线(MySQL版)

准备环境 准备两台纯净的服务器进行,在实验之前我们关闭防火墙和selinux systemctl stop firewalld #关闭防火墙 setenforce 0 #临时关闭selinux hosts解析(两台服务器都要去做) [rootansible-server ~]# vim /etc/hosts 10.31.162.24 ansible-ser…

博客的简介

博客的简介 大家可以把这个当做目录,从中选择自己需要的内容进行阅览,欢迎大家一键三连!!!! 话题讨论专栏 点击进入话题讨论专栏 主要文章: 神奇的代码——可随意修改复制页面内容 Python…

系统安全及应用

1、基本安全措施 1.1、系统账号清理 在Linux系统中,除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生产的其他大量账号。除了超级用户root之外,其他大量账号只是用来维护系统运作、启动或保持服务进程,一般是不允…

Java:Lambda表达式、方法引用

文章目录 1、Lambda表达式1.1 Lambda表达式体验1.2 Lambda表达式的省略形式1.3 Lambda表达式练习 2、方法引用体验3、方法引用符4、引用静态方法5、引用对象的实例方法6、引用类的实例方法7、引用构造方法8、引用数组的构造方法9、方法引用练习9.1 练习19.2 练习29.3 练习3 10、…