[自动化测试:实践01]:2:(4-1 )元素定位(selenium)在实际场景中的应用2

文章目录

零:实验要求

0 课程实践1-Katalon Recorder和元素定位

0 课程实践1-Katalon Recorder和元素定位

▶ 0 课程实践1-Katalon Recorder和元素定位

实践任务

1 KR数据驱动的自动测试案例1

2 KR数据驱动的自动测试案例2

3-1 元素定位在实际场景中的应用1

3-2 元素定位在实际场景中的应用1-参考代码 (学生端看操作视频和回放)

4-1 元素定位在实际场景中的应用2

4-2 元素定位在实际场景中的应用2-参考代码(学生端看操作视频和回放)

提交2份作业

提交作业1:实践任务1和2中任选一个。
提交作业2:实践任务3和4中任选一个。

▶ 0 课程实践1-Katalon Recorder和元素定位

一. KR数据驱动的自动测试案例2

0:实践目的:熟悉元素定位的基本用法。

实践目的

熟悉元素定位的基本用法。

结合ActionChains实现网页上的鼠标自动操作测试。

1:Selenium实验环境构建

实验环境构建

参考第一讲讲义和自动化测试开发实验环境配置指南.MP4视频

打开Pycharm,新建python文件training1-4.py编程实现如下功能。

打开测试网页:http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable。

定位到需要拖拽物体的Frame:iframeResult。

使用元素定位拖拽源和拖拽源目标。

构建ActionChains实现拖拽动作。

2:具体代码实现

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains

browser = webdriver.Firefox()
url = "http://www.runoob.com/try/try.php?filename=jqueryui-api-droppable"
browser.get(url)
browser.switch_to.frame('iframeResult')
source = browser.find_element(By.CSS_SELECTOR, '#draggble')
target = browser.find_element(By.CSS_SELECTOR, '#droppable')
actions = ActionChains(browser)
actions.drag_and_drop(source, target)
actions.perform()

二:补充知识:ActionChains简单介绍及使用

目的
    ActionChains:执行PC端的鼠标点击、双击、右键、拖拽等事件
执行原理
    调用ActionChains的方法时,不会立即执行,而是将所有的操作,按顺序存放在一个队列里,当你调用perform()方法时,队列中的事件会依次执行
基本用法
    生成一个动作 action = ActionChains(driver)
    动作添加方法1 :action.方法1
    动作添加方法2 :action.方法2
    调用perform()方法执行:(action.perform())
具体写法
    链式写法:ActionChains(driver).move_to_element(element).click(element).perform()
    分布写法:
        action = ActionChains(driver)
        action.move_to_element(element)
        action.click(element)
        action.perform()
ActionChains方法列表
    click(on_element=None) ------单击鼠标左键
    click_and_hold(on_element=None) ------点击鼠标左键,不松开
    context_click(on_element=None) ------点击鼠标右键
    double_click(on_element=None) ------双击鼠标左键
    drag_and_drop(source, target) ------拖拽到某个元素然后松开
    drag_and_drop_by_offset(source, xoffset, yoffset) ------拖拽到某个坐标然后松开
    key_down(value, element=None) ------按下某个键盘上的键
    key_up(value, element=None) ------松开某个键
    move_by_offset(xoffset, yoffset) ------鼠标从当前位置移动到某个坐标
    move_to_element(to_element) ------鼠标移动到某个元素
    move_to_element_with_offset(to_element, xoffset, yoffset) ------移动到距某个元素(左上角坐标)多少距离的位置
    perform() ------执行链中的所有动作
    release(on_element=None) ------在某个元素位置松开鼠标左键
    send_keys(*keys_to_send) ------发送某个键到当前焦点的元素
    send_keys_to_element(element, *keys_to_send) ------发送某个键到指定元素
相关推荐
数据小爬虫@2 小时前
深入解析:使用 Python 爬虫获取苏宁商品详情
开发语言·爬虫·python
健胃消食片片片片2 小时前
Python爬虫技术:高效数据收集与深度挖掘
开发语言·爬虫·python
ℳ₯㎕ddzོꦿ࿐5 小时前
解决Python 在 Flask 开发模式下定时任务启动两次的问题
开发语言·python·flask
CodeClimb5 小时前
【华为OD-E卷 - 第k个排列 100分(python、java、c++、js、c)】
java·javascript·c++·python·华为od
一水鉴天5 小时前
为AI聊天工具添加一个知识系统 之63 详细设计 之4:AI操作系统 之2 智能合约
开发语言·人工智能·python
Channing Lewis5 小时前
什么是 Flask 的蓝图(Blueprint)
后端·python·flask
B站计算机毕业设计超人5 小时前
计算机毕业设计hadoop+spark股票基金推荐系统 股票基金预测系统 股票基金可视化系统 股票基金数据分析 股票基金大数据 股票基金爬虫
大数据·hadoop·python·spark·课程设计·数据可视化·推荐算法
觅远6 小时前
python+playwright自动化测试(四):元素操作(键盘鼠标事件)、文件上传
python·自动化
ghostwritten7 小时前
Python FastAPI 实战应用指南
开发语言·python·fastapi
CM莫问7 小时前
python实战(十五)——中文手写体数字图像CNN分类
人工智能·python·深度学习·算法·cnn·图像分类·手写体识别