​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
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值