Python + Selenium实现web端的UI自动化

Posted annasu_56

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python + Selenium实现web端的UI自动化相关的知识,希望对你有一定的参考价值。

我的第一个Python自动化用例

环境准备

  1. 安装好Python 下载最新Python 命令行下查看是否安装成功:
  2. Python自带运行环境:
    IDLE是Python自带的集成开发环境,在开始菜单中搜索“IDLE”,打开搜索到的程序, 开始第一段代码吧:

自动化测试依赖包Selenium

做web页面测试,需要用到依赖包selenium,以windows为例,打开cmd,直接pip命令拉下来依赖即可:

pip install selenium

运行python文件如果缺依赖包会提示。

Web 自动化测试步骤

web功能测试最基本的步骤:

  1. 打开浏览器
  2. 访问待测系统的web页面
  3. 页面查找元素
  4. 动作/事件
  5. 验证

开发工具

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自动化的主要内容,如果未能解决你的问题,请参考以下文章

基于Selenium+Python的web自动化测试框架

Selenium02篇python+selenium实现Web自动化:鼠标操作和键盘操作!

python+selenium自动化1

Python+Selenium+Unittest实现PO模式web自动化框架

jenkins+selenium+python实现web自动化测试

Python+Selenium+Unittest实现PO模式web自动化框架