UI自动化测试-Selenium的使用

本文详细介绍了使用Selenium进行UI自动化测试的步骤和方法,涵盖了环境搭建、元素操作、浏览器操作、元素定位、鼠标键盘操作、下拉框及弹出框处理,以及验证码的应对策略。内容包括安装Selenium、启动浏览器、元素的点击、输入、清除操作,以及通过各种定位方法如id、name、class_name、xpath和css选择器定位元素。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1. 环境搭建

搭建整体过程

  1. Python 开发环境
  2. 安装selenium包
  3. 安装浏览器
  4. 安装浏览器驱动 – 保证能够用程序驱动浏览器,实现自动化测试

selenium安装

pip install selenium

各个浏览器驱动下载

https://sites.google.com/a/chromium.org/chromedriver/downloads

1.1 入门示例

需求

通过程序启动浏览器,并打开百度首页,暂停3秒,关闭浏览器


from selenium import webdriver
from selenium.webdriver.chrome.options import Options

#Chrom位置设置
options = Options()
options.binary_location ="C:/Users/Administrator/AppData/Local/Google Chrome/Chromebin/chrome.exe"

#实例化浏览器驱动对象
driver = webdriver.Chrome(chrome_options=options)

#打开百度网站
driver.get("http://www.baidu.com")

#设置等待时间位3s'
driver.sleep(3)

#退出浏览器驱动(释放系统资源)
driver.quit()

在这里插入图片描述

1.2 元素操作常用方法

  • 点击操作
    element.click() element表示的是元素对象
  • 输入操作
    element.send_keys(“value”) element表示的是元
    素对象, value表示的是要输入的内容
  • 清除操作
    element.clear() element表示的是元素对象. 将输
    入框里面的内容全部清除。

1.3 浏览器操作常用方法

  • 最大化浏览器窗口
    maximize_window()
  • 设置浏览器窗口大小
    set_window_size(width, height)
  • 设置浏览器窗口位置
    set_window_position(x, y)
  • 后退
    back()
  • 前进
    forward()
  • 刷新
    refresh()
  • 关闭当前窗口
    close()
  • 关闭浏览器驱动对象
    quit()
  • 获取页面title
    print(driver.title)
  • 获取当前页面url
    print(driver.current_url)
# 最大化浏览器
driver.maximize_window()
# 刷新
driver.refresh()
# 后退
driver.back()
# 前进
driver.forward()
# 设置浏览器大小
driver.set_window_size(300,300)
# 设置浏览器位置
driver.set_window_position(300,200)
# 关闭浏览器单个窗口
driver.close()
# 关闭浏览器所有窗口
driver.quit()
# 获取title
title = driver.title
# 获取当前页面url
url = driver.current_url

1.4 获取元素信息常用方法

  • 获取元素大小
    xxx.size
  • 获取元素文本内容
    xxx.text
  • 获取元素属性名
    get_attribute(“xxx”)
  • 判断元素是否可见
    is_displayed()
  • 判断元素是否可用
    is_enabled()
  • 判断元素是否选中
    is_selected()

1.5 鼠标操作常用方法

  • 右击
    context_click(element)
  • 双击
    double_click(element)
  • 拖动
    drag_and_drop(source, target)
  • 悬停
    move_to_element(element)
  • 执行
    perform()

1.6 键盘操作常用方法

  • 删除键
    send_keys(Keys.BACK_SPACE)
  • 空格键
    send_keys(Keys.SPACE)
  • Tab键
    send_keys(Keys.TAB)
  • 回退键Esc
    send_keys(Keys.ESCAPE)
  • 回车键
    send_keys(Keys.ENTER)
  • 全选键
    send_keys(Keys.CONTROL,‘a’)
  • 复制
    send_keys(Keys.CONTROL,‘c’)
  • 粘贴
    send_keys(Keys.CONTROL, ‘v’)
# 导包
import time
from selenium import  webdriver
# 实例化浏览器驱动
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.maximize_window()
# 打开测试网站
driver.get("file:///D:/software/UI%E8%87%AA%E5%8A
%A8%E5%8C%96%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/
web%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7%
E9%9B%86%E5%90%88/pagetest/%E6%B3%A8%E5%86%8CA.ht
ml")
# 1). 输入用户名:admin1,暂停2秒,删除1
element = driver.find_element(By.ID, 'userA')
element.send_keys("admin1")
time.sleep(2)
element.send_keys(Keys.BACK_SPACE)  # 删除最后一个
字符串 clear()
# 2). 全选用户名:admin,暂停2秒
element.send_keys(Keys.CONTROL, 'a')
time
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值