目录:导读
- 前言
- 一、Python编程入门到精通
- 二、接口自动化项目实战
- 三、Web自动化项目实战
- 四、App自动化项目实战
- 五、一线大厂简历
- 六、测试开发DevOps体系
- 七、常用自动化测试工具
- 八、JMeter性能测试
- 九、总结(尾部小惊喜)
前言
selenium鼠标操作
引入HTML页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>小菠萝测试笔记</title>
</head>
<body>
<a>用户名:</a>
<input id="username" class="username">
<a>密码</a>
<input id="password" name="password">
<button class="login">登录</button>
<br>
<p>测试啦</p>
<p>再一次测试</p>
<br>
<a href="https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1" target="_blank" id="virus-202s0"
class="mnav sp dot">终极抗击肺炎啊</a>
<a href="https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1" target="_blank" id="virus-2020"
class="mnav sp dot">抗击肺炎</a>
<a href="https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1" target="_blank" id="virus-202s0"
class="mnav sp dot">抗击肺炎</a>
<div>
<ul>
<li class="li">111</li>
<li class="li">222</li>
<li class="li">333</li>
</ul>
<ul>
<li>aaa</li>
<li>bbb</li>
<li>ccc</li>
</ul>
</div>
</body>
</html>
用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等。
而selenium给我们提供了一个类来处理这类事件—— ActionChains
有哪些鼠标操作呢?
执行操作;
左键、右键单击、双击;
鼠标悬停到元素、偏移处;
长按;拖动;
1、执行操作
perform() 方法
主要是调用其他操作方法后,都要再次调用这个方法,表示执行某个鼠标操作,后面会有例子
左键、右键单击、双击
from selenium.webdriver import ActionChains
from selenium import webdriver
driver = webdriver.Chrome("../resources/chromedriver.exe")
# 创建实例
chains = ActionChains(driver)
# 访问网址
driver.get("file:///C:/test.html")
# 登录按钮
username = driver.find_element_by_id("username")
login_btn = driver.find_element_by_class_name("login")
password = driver.find_element_by_id("password")
# 左键点击
chains.click(username).perform()
# 右键点击
chains.context_click(username).perform()
# 双击
chains.double_click(password).perform()
鼠标悬停到元素、偏移处
# 悬停到设置按钮
chains.move_to_element(login_btn).perform()
# 悬停到指定偏移量
chains.move_to_element_with_offset(login_btn, 2, 2).perform()
注意:
move_to_element_with_offset() 是先找到元素,再根据元素位置偏移指定偏移量
长按
# 长按
chains.click_and_hold(login_btn).perform()
拖动
# 拖动1
chains.drag_and_drop(source=username, target=password)
# 拖动2
chains.drag_and_drop_by_offset(source=username, xoffset=20, yoffset=20)
注意:
drag_and_drop 将源元素拖动到目标元素处
drag_and_drop_by_offset 将源元素拖动指定偏移量
selenium键盘操作
有什么键盘操作?
删除键;空格键;制表键;回退键;回车键;全选;复制;剪切;粘贴;F1-F12
…
其实就是所有键盘都能模拟,包括alt、shift、insert、delete、home等等等…
这里就不举例了,看源码很容易懂
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome("../resources/chromedriver.exe")
driver.maximize_window()
# 访问网址
driver.get("http://www.baidu.com")
# 找到搜索框
inputElement = driver.find_element_by_id("kw")
# 输入搜索内容
inputElement.send_keys("小菠萝测试笔记")
# ctrl+a全选
inputElement.send_keys(Keys.CONTROL, "a")
sleep(1)
# ctrl+c 复制输入框内容
inputElement.send_keys(Keys.CONTROL, 'c')
sleep(1)
# ctrl+x 剪切输入框内容
inputElement.send_keys(Keys.CONTROL, 'x')
sleep(1)
# ctrl+v 粘贴输入框内容
inputElement.send_keys(Keys.CONTROL, 'v')
sleep(1)
# 空格键
inputElement.send_keys(Keys.SPACE)
sleep(1)
# 后退键
inputElement.send_keys(Keys.BACKSPACE)
sleep(1)
# tab键
inputElement.send_keys(Keys.TAB)
sleep(1)
# 回车键
inputElement.send_keys(Keys.ENTER)
# 刷新页面
inputElement.send_keys(Keys.F5)
若要看还有什么操作,直接ctrl+点击 Keys 就能查看源码
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图 |
一、Python编程入门到精通
二、接口自动化项目实战
三、Web自动化项目实战
四、App自动化项目实战
五、一线大厂简历
六、测试开发DevOps体系
七、常用自动化测试工具
八、JMeter性能测试
九、总结(尾部小惊喜)
每一次努力都在为未来的辉煌铺路,不要惧怕困难与挑战,因为你的奋斗将书写出无尽可能。相信自己,坚持不懈,你一定能够创造出属于自己的辉煌篇章!
只有奋斗,才能超越平凡的自己;只有坚持,才能创造出不平凡的人生;只有勇往直前,才能收获无尽的可能。相信自己,努力拼搏,未来的辉煌将属于你!
只要足够努力,就能让梦想破土而出,就能让希望在心中绽放,就能迎来辉煌与成功的曙光。相信自己,不放弃,奋斗的每一步都离成功更近一些!