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

什么是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")

全屏

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

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

开源自动化测试工具

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

 

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

 

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Selenium 是一个用于 Web 自动化的工具,它可以通过各种语言,如 Python、Java、C# 等,来控制网页的操作。 使用 PythonSelenium 可以写出自动化的 Web 脚本,用于模拟人的行为,如打开浏览器、访问网页、点击链接、填写表单等。 通过使用 Selenium 库和 Python 语言,开发者可以快速地编写出完整的 Web 自动化测试用例,帮助验证 Web 应用的正确性和稳定性。 ### 回答2: Python Selenium是一个用于编写Web自动化脚本的工具。它可以通过模拟用户在浏览器中的操作来实现自动化测试和数据爬取等任务。 使用Python Selenium,你可以打开一个浏览器窗口,访问一个指定的网页,并模拟点击、输入文本等操作。例如,你可以用它来完成登录一个网站、填写表单、点击按钮等操作。 通过Python Selenium,你可以自动化执行一系列重复性的任务,从而提高效率并节省时间。例如,你可以写一个脚本来定期检查一个网页上是否有更新,并在有更新时发送通知。 另外,Python Selenium还可以用来爬取网页数据。你可以使用它来自动打开网页、提取页面上的信息,并将其保存到本地或者数据库中。这在进行数据分析、监控等任务时特别有用。 Python Selenium提供了丰富的API和功能,可以让你灵活地进行定制和扩展。你可以设置浏览器选项、处理弹窗、执行JavaScript代码等等。此外,它还可以与其他Python库和工具结合使用,例如BeautifulSoup用于解析网页内容、Pandas用于数据处理等。 总之,Python Selenium是一个强大且灵活的工具,可用于编写Web自动化脚本。无论是进行自动化测试、数据爬取还是其他Web相关任务,它都可以帮助你自动化完成一些繁琐的操作,提高效率和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值