(Python + Selenium4)Web自动化测试自学Day2之动手尝试
2024-01-07 18:01:13
文章声明???
- 该文章为我(有编程语言基础,非编程小白)的 Python Selenium4 Web自动化测试自学笔记
- 知识来源为 B站UP主(软件测试老白)的Python Selenium4课程视频,归纳为自己的语言与理解记录于此并加以实践
- 不出意外的话,我大抵会 持续更新
- 想要了解前端开发(技术栈大致有: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 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标签
# 相关导入
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()
关于弹窗
只有一个点击按钮的弹窗
# 相关导入
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()
需要确认的弹窗
# 相关导入
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()
用户可以输入的弹窗
# 相关导入
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()
文章来源:https://blog.csdn.net/Richieeea/article/details/135428295
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!