要开始使用Selenium进行自动化测试,你可以按照以下步骤进行:

  一、环境搭建

  安装Selenium库

  使用pip命令安装Selenium:pip install selenium

  下载并配置浏览器驱动程序

  Selenium支持多种浏览器,如Chrome、Firefox、Safari等。你需要从相应的浏览器官方网站上下载并安装对应的驱动程序,并确保其版本与Selenium库和浏览器版本兼容。

  设置开发环境

  你可以选择使用IDE(如PyCharm)或文本编辑器(如VS Code)来编写和运行Selenium脚本。确保你的开发环境已经配置了Python解释器,并且安装了Selenium库。

  二、编写测试脚本

  启动浏览器并创建实例

  使用WebDriver来启动浏览器并创建一个浏览器实例。例如,创建一个Chrome浏览器实例:

  1.  from selenium import webdriver

  2.   driver = webdriver.Chrome()

打开网页

  使用WebDriver的get()方法来打开一个网页:

driver.get("https://www.example.com")

定位网页元素

  Selenium提供了一系列方法来定位网页中的元素,如按ID、class、标签名、XPath、CSS选择器等。例如:

  1.  # 按ID定位元素

  2.   element = driver.find_element_by_id("element_id")

  3.   # 按class定位元素

  4.   element = driver.find_element_by_class_name("element_class")

  5.   # 按标签名定位元素

  6.   element = driver.find_element_by_tag_name("element_tag")

  7.   # 使用XPath定位元素

  8.   element = driver.find_element_by_xpath("//element_xpath")

  9.   # 使用CSS选择器定位元素

  10.   element = driver.find_element_by_css_selector(".element_class")

与元素交互

  定位到元素后,可以使用元素对象的方法来与元素进行交互,如点击、输入文本、获取元素文本等:

  1.  # 点击元素

  2.   element.click()

  3.   # 输入文本到输入框

  4.   element.send_keys("text")

  5.   # 获取元素文本

  6.   text = element.text

  7.   # 获取元素属性值

  8.   value = element.get_attribute("attribute_name")

  9.   # 判断元素是否显示

  10.   is_displayed = element.is_displayed()

执行操作序列

  Selenium提供了ActionChains类,可以执行一系列操作,如鼠标移动、按键操作等:

  1. from selenium.webdriver.common.action_chains import ActionChains

  2.   actions = ActionChains(driver)

  3.   actions.move_to_element(element1).click().send_keys("text").perform()

AI生成项目

处理弹窗和iframe

  Selenium提供了方法来处理弹窗和切换到iframe:

  1.  # 处理弹窗

  2.   alert = driver.switch_to.alert

  3.   alert.accept() # 点击确认按钮

  4.   alert.dismiss() # 点击取消按钮

  5.   # 切换到iframe

  6.   driver.switch_to.frame("iframe_name")

  7.   driver.switch_to.default_content() # 切换回主文档

断言和验证

  在自动化测试中,通常需要对测试结果进行断言和验证。Selenium提供了一些方法来进行断言和验证,如assert和assertEqual:

  1.  # 断言元素是否存在

  2.   assert driver.find_element_by_id("element_id").is_displayed() # 判断元素是否显示

  3.   # 验证页面标题是否正确

  4.   assert "Page Title" in driver.title

  5.   # 验证页面URL是否正确

  6.   assert "https://www.example.com" in driver.current_url

等待元素加载

  在自动化测试中,有时需要等待元素加载完成。Selenium提供了隐式等待和显式等待的方法:

  1. # 隐式等待,最多等待10秒

  2.   driver.implicitly_wait(10)

  3.   # 显式等待,等待元素出现后执行操作

  4.   from selenium.webdriver.support.ui import WebDriverWait

  5.   from selenium.webdriver.support import expected_conditions as EC

  6.   from selenium.webdriver.common.by import By

  7.   element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "element_id")))

截图和日志记录

  在测试过程中,截图和日志记录对于问题排查和测试报告非常重要:

  1.  # 截图

  2.   driver.save_screenshot("screenshot.png")

  3.   # 日志记录

  4.   import logging

  5.   logging.basicConfig(level=logging.WARNING) # 设置日志级别

  6.   logging.warning("Warning message") # 记录警告信息

三、运行和清理

  运行测试脚本

  在开发环境中运行你编写的Selenium测试脚本,观察测试结果。

  清理和退出

  在测试完成后,需要进行清理和退出操作,释放资源和关闭浏览器:

  1.  # 清理操作,如删除所有cookies

  2.   driver.delete_all_cookies()

  3.   # 关闭浏览器

  4.   driver.quit()

通过以上步骤,你就可以开始使用Selenium进行自动化测试了。记得在测试过程中不断调试和优化你的脚本,以提高测试的准确性和效率。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

更多推荐