码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python+Selenium自动化测试


    文章目录

    • 1.selenium介绍
    • 2.selenium的使用步骤
    • 3.浏览器前进&后退&刷新
    • 4.窗口切换
    • 5.窗口截图
    • 6.鼠标悬停
    • 7.元素定位
      • 7.1.ID定位
      • 7.2.name定位
      • 7.3.class_name定位
      • 7.4.tag_name定位
      • 7.5.link_text定位
      • 7.6.partial_link_text定位
      • 7.7.定位一组元素
    • 8.Xpath定位
      • 8.1.Xpath路径定位
      • 8.2.Xpath属性定位
      • 8.3.利用and or组合定位
      • 8.4. 利用元素文本定位:text()
      • 8.5. 利用局部属性值定位contains( , )
      • 8.6.Xpath层级定位
    • 9. CSS定位
    • 10. 模拟鼠标滚动
    • 11. 其他方法
    • 12. 执行UI自动化时如果找不到元素该分析哪些原因

    1.selenium介绍

    1. Selenium是最广泛使用的开源Web UI(用户界面)自动化测试套件之一。
    2. selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
    3. selenium也是支持无界面浏览器操作的

    2.selenium的使用步骤

    #1.导包
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    import time
    #2.初始化一个火狐浏览器实例
    driver = webdriver.Firefox()
    #3.打开web页面
    URL= "http://blog.csdn.net"
    derive.get(URL)
    #4.停留时间
    time.sleep(10)
    #5.退出驱动
    drive.quit()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3.浏览器前进&后退&刷新

    #浏览器前进
    driver.forward()
    #浏览器后退
    driver.back()
    #浏览器刷新,设置刷新一定要等待几秒
    driver.refresh()
    time.sleep(5)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4.窗口切换

    在selenium操作页面的时候,可能会因为点击某个链接而跳转到一个新的页面,这时候selenium实际还处于上一个页面,需要我们进行切换才能够定位最新页面上的元素。

    #获取所有窗口句柄
    handles=driver.window_handles
    #切换到最新窗口
    driver.switch_to.window(handles[-1])
    
    • 1
    • 2
    • 3
    • 4

    5.窗口截图

    通常UI自动化测试的时候是无人值守的,同时错误信息记录不是很明确,有截图的情况下能快速分析错误原因

    #截图文件的绝对路径
    driver.get_screenshot_as_file('图片保存路径')
    derive.save_screenshort('test.png')
    #截取后直接是二进制
    derive.save_screenshort_as_png()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    6.鼠标悬停

    作用一般是为了显示隐藏的下拉框

    ActionChains(driver).move_to_element().perform()
    
    • 1

    7.元素定位

    元素:在网页上面的文本输入框,按钮,多选,单选,标签和文字都叫元素,总之凡是能在页面显示的对象都可以作为页面元素对象。
    元素定位目的:希望在整个html中,快速找到要操作的元素,尽量只匹配到1个。
    Selenium一共有八种元素定位方法:

    7.1.ID定位

    通过页面内元素的ID属性进行定位,前提是这个元素有ID属性

    #html
    <input type="text" name="enroll" id="user">
    #send_keys
    • 1
    • 2
  • 相关阅读:
    苹果CMS首涂第30套可装修DIY主题模板免授权版
    scratch绘制多彩五角星 2023年9月中国电子学会图形化编程 少儿编程 scratch编程等级考试三级真题和答案解析
    (五)JPA - 原生SQL实现增删改查
    加壳的app分析dex(可以正常抓包的话)
    ArcGIS中的镶嵌数据集与接缝线
    Android 恢复出厂设置时间重置
    Jtti:Ubuntu下如何用vsftpd配置FTP服务器
    Rust8.1 Smart Pointers
    CPU设计——Triumphcore——V2版本
    自主设计,模拟实现 RabbitMQ - 实现发送方消息确认机制
  • 原文地址:https://blog.csdn.net/sinat_41774721/article/details/134039153
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号