欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

selenium自动化测试

程序员文章站 2024-03-21 23:10:46
...

selenium

selenium是一个用于WEB应用程序的测试工具。该工具直接运行于浏览器,模拟用户操作。支持现在主流浏览器。主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。

selenium webdriver:

准备工作:

  1. python3.7+pycharm
  2. pip install selenium
  3. 对应浏览器和驱动(例如:Firefox+geckodriver。在C盘 根目录创建文件夹webdriver,将驱动移动至此文件夹)

初始化:

  1. 导入selenium webdriver包from selenium import webdriver
  2. 新建firefox webdriver对象driver = webdriver.Firefox()
  3. 设置webdriver超时时间driver.implicitly_wait(30)
  4. 设置浏览器窗口展示方式driver.maximize_window()

访问目标网站:

webdriver.get(url)

搜索关键字:

  1. 通过driver.find_element_by_id() 通过页面元素的ID属性值来定位元素
  2. element.clear() 清除文本框或文本域中的内容
  3. element.send_keys() 模拟输入文本

获取页面标题:

  1. 通过find_elements_by_tag() 通过页面元素的tag属性值来定位元素
  2. element.text 获取元素的文本值

精准定位Xpath:

xpath是一门在xml文档中查找信息的语言,使用路径表达式在XML文档中选取节点:
selenium自动化测试
节点选取进阶
谓语:谓语用来查找某个特定的节点或者包含某个指定的值的节点。
selenium自动化测试
通配符:
用来选取未知的XML元素
selenium自动化测试
示例
selenium自动化测试selenium自动化测试
webdriver:
selenium自动化测试
常用交互方法:
selenium自动化测试
定位控件方法:

selenium自动化测试
隐式等待

原理:使用webdriver提供的webdriverwait类和expected_conditions来实现

优点:定制化,具备更好的可操控性

示例:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdrier.support import expected_conditions
WebdriverWait(self.driver,10).util(expected_conditions.xxxxx)

显示等待

原理:设置之后,webdriver会在一段时间内持续检测和搜寻DOM,以便于查找一个或多个不是立即加载成功并可见的元素,默认等待时间为0。

解决:网络延迟、Ajax动态加载元素导致的程序响应时间不一致问题

配置方法:implicatly_wait(s) 元素级
set_page_load_timeout(s) 页面级

Expected_conditions类
selenium自动化测试

webelement功能列表:
selenium自动化测试
webelement常用交互方法:
selenium自动化测试

相关标签: 自动化 python