zoukankan      html  css  js  c++  java
  • Selenium自动化测试-6.鼠标键盘操作

    ——————·今天距2020年77·——————

    这是ITester软件测试小栈第59次推文

    大家好

    我是vivi小胖虎

    作为测试

    好像对于点点点这事一直放不下

    如何让点点点变得更简单

    让人变得更懒呢

    今天就正式揭晓

    在上一篇:Selenium自动化测试-脚本录制神器Katalon Recorder,我们认识了一个实用的脚本录制神器。到此为止,已经学完了8种定位方式以及利用Firefox插件协助定位,学会定位,Selenium自动化就成功了一半。

    But,我们好像只是知道定位,定位后的操作并不多,今天就来系统的了解下鼠标键盘操作。

    首先,回顾下我们之前的简单操作:

    1.click() 点击;

    2.clear() 清除;

    3.send_keys() 输入;

    鼠标操作

    之前定位的时候,用到了click点击元素,selenium除了click模拟鼠标单击操作外,还提供了双击、右击、悬停、拖动等操作,使用这些要导入ActionChains类

    from  selenium.webdriver.common.action_chains import ActionChains

    ActionChains提供的操作如下

    • perform() 执行所有 ActionChains 中存储的行为;

    • context_click() 右击;

    • double_click() 双击;

    • drag_and_drop() 拖拽到某个元素;

    • move_to_element() 鼠标悬停;

    • drag_and_drop_by_offset()拖拽到某个坐标;

    一、move_to_element()

    以百度页面的设置为例,看看鼠标悬停怎么操作。

    鼠标移至设置,会出现下拉菜单,显示4个选项,代码如下:

    整个流程是:定位到元素后,调用ActionChains()方法,将driver作为参数传入,鼠标悬停到元素上,perform()执行所有ActionChains中储存的行为。

    二、double_click() 双击

    以百度一下按钮为例,双击百度一下,代码如下:

    可以看出,双击百度一下按钮和之前click()单击效果一样,都能实现刷新页面的作用。

    三、context_click() 右击

    右击典型的例子是云盘,我们以百度云盘为例:

    选择某个素材,然后右击,代码如下:

    注意,上面的代码并不能运行成功,只是演示右击是怎么操作的。通过link_text定位到需要右击的元素上,然后执行右击操作。

    四、drag_and_drop()

    drag_and_drop(source, target):将对象拖拽到目标地点;

    source:源对象,需要移动的元素;

    target:目标对象,将源对象拖放至的位置;

    实现代码如下:

    上面的代码只是讲解drag_and_drop()的运行原理,具体的元素定位根据自己实战需要进行修改。

    五、drag_and_drop_by_offset()

    drag_and_drop_by_offset(source, xoffset, yoffset),其中:

    source:需要移动的元素;

    xoffset: 将元素拖动到另一个位置的x坐标;

    yoffset: 将元素拖动到另一个位置的y坐标;

    我们以滑块为例,我们需要将滑块移到最右的位置来解锁:

    怎么实现呢,我们通过定位元素,发现整个滑块的长度为298px。

    那么我们只要往右滑动的距离超过298px,就可以实现解锁滑块了,等不及了,用代码来实现吧。

    运行之后,自动解锁滑块成功:

    键盘操作

    selenium提供了一整套的模拟键盘操作,之前了解的send_keys()方法可以模拟键盘输入,模拟键盘操作需导入键盘模块 :

    from selenium.webdriver.common.keys import Keys

    Keys()类提供了键盘几乎所有按键的方法,常见的键盘操作:

    以上常见的键盘操作基本满足我们日常的操作,接下来我们写代码看下键盘操作的效果:

    通过上面的例子,你可以掌握基本的键盘操作,更多的操作可以自己多练习、实践。

    下一篇将分享获取元素属性,敬请期待~


    最后是今天的分享App自动化(基于appium+python)

    ITester软件测试小栈今日分享

    分享内容

    APP自动化(基于appium+Python)

    领取方式

    微信公众号后台回复:Appium

    有图有真相

    以上


    That‘s all

    ITester软件测试小栈

    往期内容宠幸

    叮—这有一打让你666的测试终极资料包,请查收!

    打开PyCharm永久激活的这两个锦囊,再也不用担心写代码的时候让我付费了!

    QQ空间面试题放送,速度教科书式扑街补救offer!

    金九银十加薪季,测试题预热一波。

    Selenium自动化测试-1.selenium介绍及环境安装

    Selenium自动化测试-2.浏览器基本操作

    Selenium自动化测试-3.元素定位(1)

    Selenium自动化测试-3.元素定位(2)

    Selenium自动化测试-3.元素定位(3)

    Selenium自动化测试-4.By定位及如何确定元素唯一

    Selenium自动化测试-5.脚本录制神器Katalon Recorder

    速看,APP测试之ADB最全指南!

    APP测试之Monkey压力测试(一)

    APP测试之Monkey压力测试(二)

    快来星标 置顶 关注

    想要获取相关资料软件 ?

    Q群:701841415

  • 相关阅读:
    G
    F
    E
    D
    机器学习第二次作业
    机器学习第一次作业
    机器学习作业一
    软工实践个人总结
    第11组 Beta版本演示
    第11组 Beta冲刺(5/5)
  • 原文地址:https://www.cnblogs.com/ITester520/p/13203378.html
Copyright © 2011-2022 走看看