Selenium+Python自动化测试实战指南:环境配置与核心用法
本文详细介绍Selenium+Python自动化测试的完整流程。从macOS下的Python3与PyCharm环境搭建,到pip安装Selenium库及对应版本的WebDriver配置,涵盖环境变量设置与权限处理。深入讲解ID与XPath元素定位方法,以及通过UUID标识和switch_to_window实现多窗口切换的核心代码示例,助力快速上手自动化测试项目。
Selenium介绍
Selenium是一个涵盖多种工具和库的综合项目,旨在实现Web浏览器的自动化操作。其核心组件为WebDriver,提供了一套标准化的指令接口,支持在多种不同的浏览器环境中跨平台运行自动化脚本。
环境搭建
Python安装
macOS系统默认预装的Python版本为2.7,由于版本较低且已停止维护,建议直接通过终端命令 brew install python3 安装最新的Python3版本。

安装完成后,可通过终端执行 which python3 命令来确认Python3的具体安装路径。

在终端输入 python3 并回车,若成功进入Python交互解释器界面,则表明Python环境安装无误。

安装Pycharm
- 访问PyCharm官方网站下载并安装最新版本的集成开发环境。
- 在PyCharm中创建一个新的项目文件夹,例如命名为 selecode。
- 使用PyCharm打开 selecode 文件夹,并根据项目需求进行相应的初始配置设置。

selenium安装
pip安装
1.1 下载pip
curl https://bootstrap.pypa.io/pip/get-pip.py -o get-pip.py1.2 安装

通过终端执行 pip install selenium 命令来安装Selenium库。
pip install selenium查看selenium
pip show selenium
WebDriver安装
首先查看本地浏览器的具体版本号,确保下载的WebDriver版本与浏览器版本严格匹配,以避免兼容性问题。

根据浏览器版本下载对应的WebDriver驱动文件。

将WebDriver可执行文件的路径添加到系统的环境变量中,以便系统能全局调用。
vim ~/.profile
export PATH="$PATH:/usr/local/chromedriver"
source ~/.profile
3.1 mac还需要添加信任,在webdriver目录下,执行

chromedriver % xattr -d com.apple.quarantine chromedriver3.2 在控制台测试下是否生效

selemium的基本使用
创建python文件

邮件运行下方demo代码,查看效果

元素定位
ID定位

xpath定位(直接Copy full Xpath)


多窗口
在selenium中,通过一个随机生成的字符串(uuid)来唯一标识某个窗口
执行js:window.open打开新窗口
new = 'window.open("https://service.homepartners.tech/sso/Account/Login?ReturnUrl=%2Fsso%2Fconnect%2Fauthorize' \
'%2Fcallback%3Fclient_id%3Dhpa-ctm-vendor-portal%26redirect_uri%3Dhttps%253A%252F%252Fvendor.homepartners.tech' \
'%252Fcallback%26response_type%3Dtoken%2520id_token%26scope%3Dopenid%2520profile%2520vendor-api%2520foundation' \
'-api%26state%3D5a6d7d6d84264b828f02081ac9fb1c3a%26nonce%3D7cb02e1da5214cd0828d4373b29e5b66"); '
driver.execute_script(new)
handler的获取 3.1 获取所有:driver.window_handlers 3.2 获取单个:driver.current_window_handle 3.3 切换:driver.switch_to_window(handle)

结束语
通过上述操作就可以做一些简单的demo,但如何出报表?如何工程化?以及后续怎么部署迭代?还需要进一步去学习
到此这篇关于Selenium+Python自动化测试入门的文章就介绍到这了,更多相关Selenium 自动化测试内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









