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

目录


文章声明⭐⭐⭐

  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,把未勾选上的复选框都勾选上

代码如下:

python 复制代码
# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By

if __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)
    # 点击Radio
    web.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)
    # 点击checkbox
    web.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标签

python 复制代码
# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.support.select import Select

if __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()

关于弹窗

只有一个点击按钮的弹窗

python 复制代码
# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By

if __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()

需要确认的弹窗

python 复制代码
# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By

if __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()

用户可以输入的弹窗

python 复制代码
# 相关导入
import time
from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By

if __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()
相关推荐
工业3D_大熊4 分钟前
【虚拟仿真】CEETRON SDK在船舶流体与结构仿真中的应用解读
java·python·科技·信息可视化·c#·制造·虚拟现实
喵叔哟7 分钟前
重构代码之用委托替代继承
开发语言·重构
lzb_kkk12 分钟前
【JavaEE】JUC的常见类
java·开发语言·java-ee
SEEONTIME12 分钟前
python-24-一篇文章彻底掌握Python HTTP库Requests
开发语言·python·http·http库requests
Bearnaise13 分钟前
PointMamba: A Simple State Space Model for Point Cloud Analysis——点云论文阅读(10)
论文阅读·笔记·python·深度学习·机器学习·计算机视觉·3d
起名字真南31 分钟前
【OJ题解】C++实现字符串大数相乘:无BigInteger库的字符串乘积解决方案
开发语言·c++·leetcode
tyler_download43 分钟前
golang 实现比特币内核:实现基于椭圆曲线的数字签名和验证
开发语言·数据库·golang
小小小~43 分钟前
qt5将程序打包并使用
开发语言·qt
hlsd#43 分钟前
go mod 依赖管理
开发语言·后端·golang
哇咔咔哇咔44 分钟前
【科普】conda、virtualenv, venv分别是什么?它们之间有什么区别?
python·conda·virtualenv