​python使用selenium进行Web自动化测试​

admin2024-05-15  0

什么是selenium

Selenium 是 ThoughtWorks 提供的一个强大的基于浏览器的

Selenium 是一个用于 Web 应用程序测试的工具,测试直接自动运行在浏览器中,就像真正的用户在手工操作一样。支持的浏览器包括 IE、Chrome 和 Firefox 等。这个工具的主要功能包括:测试与浏览器的兼容性 - 测试您的应用程序看是否能够很好地工作在不同浏览器和操作系统之上;测试系统功能 - 创建回归测试检验软件功能和用户需求;支持自动录制动作,和自动生成 .NET、Perl、Python、Ruby 和 Java 等不同语言的测试脚本。

安装python

安装selenium

pip install selenium

检测selenium

pip show selenium
 
  1. (venv) ➜ pytest pip show selenium

  2. Name: selenium

  3. Version: 4.1.0

  4. Summary:

  5. Home-page: https://www.selenium.dev

  6. Author:

  7. Author-email:

  8. License: Apache 2.0

  9. Location: /Users/terwer/Documents/PycharmProjects/pytest/venv/lib/python3.8/site-packages

  10. Requires: trio, trio-websocket, urllib3

  11. Required-by:

安装driver

firefox

下载geckdriver

下载地址:需注意的是浏览器的版本和driver驱动的版本要匹配

Google chrome

(Chrome对应Chromedriver,ie对应IEdriver)

下载对应版本的压缩包,然后解压,解压后的名称都是一样的,driver的路径可以放在python的script的路径下

ChromeDriver - WebDriver for Chrome - Downloads

错误解决

'chromedriver' executable needs to be in PATH.

找到文档

ChromeDriver - WebDriver for Chrome - Getting started

edge

使用 WebDriver 自动执行 Microsoft Edge - Microsoft Edge Development | Microsoft Learn

python运行第一个自动化脚本

 
  1. from selenium import webdriver

  2. def print_hi(name):

  3. driver = webdriver.Chrome("./chromedriver")

  4. driver.get("https://www.baidu.com")

  5. driver.quit()

  6. print(f'Hi, {name}')

  7. if __name__ == '__main__':

  8. print_hi('Selenium')

解决自动退出

python+selenium自动化,没有写close和quit,浏览器窗口会自动关闭解决方案

加参数

option.add_experimental_option("detach", True)

完整的代码

 
  1. # 加启动配置

  2. option = webdriver.ChromeOptions()

  3. # 关闭“chrome正受到自动测试软件的控制”

  4. # V75以及以下版本

  5. # option.add_argument('disable-infobars')

  6. # V76以及以上版本

  7. option.add_experimental_option('useAutomationExtension', False)

  8. option.add_experimental_option('excludeSwitches', ['enable-automation'])

  9. # 不自动关闭浏览器

  10. option.add_experimental_option("detach", True)

  11. driver = webdriver.Chrome("./chromedriver", chrome_options=option)

  12. driver.get("https://www.baidu.com")

  13. driver.maximize_window()

  14. # driver.quit()

edge版本

 
  1. from msedge.selenium_tools import Edge, EdgeOptions

  2. import os

  3. def start_dege():

  4. options = EdgeOptions()

  5. options.binary_location = r'/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge'

  6. options.use_chromium = True

  7. options.set_capability("platform", "Mac OS")

  8. # 不退出

  9. options.add_experimental_option("detach", True)

  10. browser = Edge(options=options, executable_path=r"/usr/local/bin/msedgedriver")

  11. browser.get('http://localhost:8090')

  12. def close_edge():

  13. os.system("killall -9 'Microsoft Edge'")

  14. print("previous Microsoft Edge is closed")

  15. if __name__ == '__main__':

  16. close_edge()

  17. start_dege()

  18. print("edge started")

​python使用selenium进行Web自动化测试​,第1张

全屏

 
  1. option.add_argument("--start-maximized")

  2. option.add_argument('window-size=2560,1440')

开源自动化测试工具。

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

​python使用selenium进行Web自动化测试​,第2张 

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

​python使用selenium进行Web自动化测试​,第3张

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!