Python + Selenium实现web端的UI自动化
Posted annasu_56
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python + Selenium实现web端的UI自动化相关的知识,希望对你有一定的参考价值。
我的第一个Python自动化用例
环境准备
- 安装好Python 下载最新Python 命令行下查看是否安装成功:
- Python自带运行环境:
IDLE是Python自带的集成开发环境,在开始菜单中搜索“IDLE”,打开搜索到的程序, 开始第一段代码吧:
自动化测试依赖包Selenium
做web页面测试,需要用到依赖包selenium,以windows为例,打开cmd,直接pip命令拉下来依赖即可:
pip install selenium
运行python文件如果缺依赖包会提示。
Web 自动化测试步骤
web功能测试最基本的步骤:
- 打开浏览器
- 访问待测系统的web页面
- 页面查找元素
- 动作/事件
- 验证
开发工具
Python 开发工具有很多,比如:PyCharm、Jupyter、VSCode 等,我们选择一个自己用着顺手的就行,如果是新手的话,建议首选 PyCharm,可以节省配置时间,快速上手。
如果单纯想试试,新建个记事本(.txt), 命名为script.py就能搞定。
创建自动化脚本
如下以一个系统登录页面为例,保存为login.py:
#引用依赖
from selenium import webdriver
import time
#打开浏览器赋给变量,比如:打开chrome浏览器,前提是把chromedriver下载并放到执行python文件的目录下,如上图。
browser = webdriver.Chrome()
#访问测试的系统登录页面
browser.get("https://xxx.test.cn/")
#需要最大化浏览器
browser.maximize_window()
#查找元素,可以通过id,css,class,name,xpath等找到页面元素
#输入用户名密码
browser.find_element_by_id("usernameInput").send_keys("xxx@test.cn")
browser.find_element_by_id("passwordInput").send_keys("pw123")
browser.find_element_by_id("btnLoginCloud").click()
#验证访问成功,获取当前浏览器的URL, 包含expected result: "https://xxx.test.cn/dashboard"
try:
assert "https://xxx.test.cn/dashboard/index.view" in browser.current_url
print("Assertion test pass")
except Exception as e:
print("Assertion test fail",format(e))
time.sleep(2)
browser.quit()
运行
cmd打开命令行
cd到Python文件目录下运行自动化脚本: >python [文件名]
Microsoft Windows [Version 10.0.18363.1977]
(c) 2019 Microsoft Corporation. All rights reserved.
D:\\python\\automation>python login.py
Assertion test pass
以上是关于Python + Selenium实现web端的UI自动化的主要内容,如果未能解决你的问题,请参考以下文章
Selenium02篇python+selenium实现Web自动化:鼠标操作和键盘操作!
Python+Selenium+Unittest实现PO模式web自动化框架