Python + Selenium,分分钟搭建 Web 自动化测试框架!

这篇具有很好参考价值的文章主要介绍了Python + Selenium,分分钟搭建 Web 自动化测试框架!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。「自动化测试」就是一个最好的例子。

随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务要求,只能被企业逐步裁员淘汰。「自动化测试和持续测试」就成为了业界主流。

如果在招聘网站搜索「测试工程师」的职位,95% 的招聘都会有「掌握自动化测试以及 Python」的相关要求。可以说,python 自动化已经不是加分项了,而成了面试成功的必备技能。

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

所以,如果你正准备入行或者转岗做测试工程师的工作,Python 自动化测试将是必学技能之一。

Python + Selenium

说到自动化测试,就不得不提大名鼎鼎的Selenium。Selenium 是如今最常用的自动化测试工具之一,支持快速开发自动化测试框架,且支持在多种浏览器上执行测试。

Selenium学习难度小,开发周期短。对测试人员来说,如果你编程经验不足,python + Selenium 是个很好的选择。语法简约,清晰,可以显著减少后期维护难度和工作压力。

今天,我们就介绍一下如何用 Selenium 快速开始 Web 测试工作!

Selenium 基础知识

本节课程介绍 Selenium 的功能作用及安装、环境配置,并介绍 Selenium 常用的语法。

知识点

  • Selenium 介绍
  • 安装 Selenium
  • 安装 geckodriver 浏览器驱动
  • Selenium 的元素定位
  • 点击元素
  • 清空文本输入框、向文本输入框输入文本
  • 获取元素属性
  • 下拉页面
  • 页面弹窗的定位以及弹窗文本的获取
  • 窗口跳转
  • iframe 定位

安装需要的库:

sudo pip3 install --upgrade pip
sudo pip3 install selenium

实验环境

  • Firefox 浏览器
  • python 3.5
  • geckodriver 0.22.0
  • selenium 3

实验步骤

Selenium 在进行回归测试的时候会被经常用到,接下来我们就学习 Selenium 的知识。当我们进入selenium 官网时可以看到,网站的 title 上写的是 Selenium - Web Browser Automation,翻译过来就是网站浏览器自动化。也就是说我们把平时在网页上做的功能测试用 Selenium 代码实现,这样在回归测试的时候就可以达到省时省力的目的。Selenium 在工作中的应用常见于功能基本稳定、没有频繁大变动的网页。所以我们一般是在业务功能上线以后,为确保页面稳定,用 Selenium 实现自动化回归测试,结合 git、Jenkins 一起,每当有新功能上线时都会执行写好的 Selenium 代码以验证新上线的业务对原有页面功能没有造成影响。如有报错,则发送相应的通知,这样就可以确保对线上功能出现的未预期 bug 进行及时的修复。

安装 Selenium

在 xfce 中输入sudo pip3 install selenium安装最新版本的 Selenium。

浏览器、geckodriver

既然名为网页浏览器自动化自然要安装浏览器,一般来说,ChromeFirefox等浏览器都可以,这里我们使用当前系统自带的Firefox作为实验浏览器。现在我们需要下载对应的浏览器驱动geckodriver,在xfce中输入以下命令:

$ wget https://labfile.oss.aliyuncs.com/courses/1163/geckodriver-v0.22.0-linux64.tar.gz

下载成功后继续输入:

$ tar zxvf geckodriver-v0.22.0-linux64.tar.gz
$ sudo mv geckodriver /usr/local/bin

以上操作为:将文件解压,并移动至/usr/local/bin文件夹中。

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

将目录切换至桌面:

$ cd /home/shiyanlou/Desktop

下面我们来验证是否正常安装,在终端使用命令vim demo.py创建文件并写入代码:

#! /usr/bin/python3
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.shiyanlou.com")

输入python3 demo.py如果浏览器打开并进入实验楼网站,则环境配置就成功了。

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

浏览器操作

在终端使用命令vim demo2.py创建文件并写入代码:

#! /usr/bin/python3

from selenium import webdriver
from time import sleep


driver = webdriver.Firefox()

# 浏览器进入百度网站
driver.get("https://www.baidu.com")

# 设置浏览器宽800,高400
driver.set_window_size(800, 400)

# 等待3秒
sleep(3)

# 刷新页面
driver.refresh()

# 等待3秒
sleep(3)

# 最大化窗口
driver.maximize_window()

# 退出浏览器
driver.quit()

- name: check file
  script: |
    #!/bin/bash
    ls /home/shiyanlou/Desktop/demo2.py
  error:
    还没有在 /home/shiyanlou/Desktop 目录下新建 demo2.py 文件

以上代码会在浏览器中执行:

  • 打开浏览器
  • 进入百度网站
  • 设置窗口大小为宽 800,高 400
  • 等待 3 秒
  • 刷新页面
  • 最大化窗口
  • 退出浏览器

演示

这里我们使用51Testing 软件测试论坛作为演示网站,如果大家没有账号需要先去注册一个,下面的代码将会使用到账号信息,在终端使用命令vim demo3.py创建文件并写入代码:

#! /usr/bin/python3
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
# 进入51testing网站driver.get("http://bbs.51testing.com/forum.php")
sleep(3)

# 用id定位账号输入框并输入账号
driver.find_element_by_id("ls_username").send_keys("您的用户名")

# 用id定位密码输入框并输入密码
driver.find_element_by_id("ls_password").send_keys("密码")

# 定位“登录”按钮并获取登录按钮的文本
txt = driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').text

# 打印获取的文本
print(txt)

# 定位“登录”按钮并获取登录按钮的type属性值
type = driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').get_attribute("type")

# 打印type属性值
print(type)

# 定位“登录”按钮并进行点击操作
driver.find_element_by_xpath('//*[@id="lsform"]/div/div[1]/table/tbody/tr[2]/td[3]/button').click()

在终端执行python3 demo3.py运行,结果显示如下:页面显示:

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

执行以上代码后会在 xfce 中输出如下信息:

 总结

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

Python + Selenium,分分钟搭建 Web 自动化测试框架!,python,selenium,前端

文章来源地址https://www.toymoban.com/news/detail-785357.html

到了这里,关于Python + Selenium,分分钟搭建 Web 自动化测试框架!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分分钟搞定MAC丝滑切换node版本,升级node

    在日常工作中,我们经常会遇到不同项目的依赖需要不同的node版本来运行,这个时候就需要切换node版本啦~~ 用node.js的多版本管理器 n 来解决问题 查看node所有版本 查看当前node版本 安装n模块: 升级到稳定版本 切换或者升级到某个版本 清除node.js的cache 升级到最新版本 安装

    2024年04月23日
    浏览(35)
  • 【ChatGPT工具篇-1】ChatGPT + MindShow 分分钟搞定PPT制作

    AI 能生万物吗?  制作一份“通用性”的PPT需要几步? 借助ChatGPT和MindShow,分分钟完成操作,就能制作出来完胜大部分人的PPT文件; 解锁更多AIGC(ChatGPT、AI绘画)玩法,学习模型调教方法。 1、ChatGPT看这儿 (总有一款适合你) https://github.com/wangyingjie/experience-sharing 

    2024年02月08日
    浏览(52)
  • 分分钟搞定Java中的抽象类和接口!!!(abstract & interface)

    1.抽象类的定义 概述: 我们创建一个动物类,并且在这个类中创建动物对象,但是当你提到动物类,你并不知道我说的是什么动物,只有看到了具体的动物,你才知道这是什么动物,所以说动物本身并不是一个具体的事物,而是一个抽象的事物。只有真正的猫,狗才是具体的

    2024年02月01日
    浏览(44)
  • 【羚珑AI智绘营】分分钟带你拿捏SD中的色彩控制

    颜色控制一直是AIGC的难点,prompt会污染、img2img太随机… 今天带来利用controlnet,实现对画面颜色的有效控制。都说AIGC是抽卡,但对把它作为工具而非玩具的设计师,必须掌握如何控制它,让我们一起开始可控AI生成。 大家或许已经通过各种《三分钟包会》《五分钟出道》的

    2024年02月08日
    浏览(50)
  • 项目代码行数统计,总行数统计,任意语言,忽略目录/指定多个文件,分分钟搞定。

    工具大小:3.6M 下载地址: https://www.zeropo.com/SourceCounter.zip 使用方式:下载运行exe(无需安装) 其他拓展 如质量指标:单元测试用例密度,单元测试缺陷密度,综合测试用例密度,综合测试缺陷密度 人工数和成本分析设定:代码生产率,多少行/人每月、一个人月的上班日数

    2024年02月19日
    浏览(48)
  • Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!

    如果一个目录中文件数不是很多,那就可以一眼看出其中有多少个文件。但是如果计算子目录在内的文件数呢?或者如果文件数量很多,比如几百上千个,那么怎么确切地知道该目录下的文件数呢? 今天我们总结一下查看 Linux 中目录下文件数量的方法。 最简单的方法是使用

    2023年04月13日
    浏览(46)
  • CSDN官方创作助手InsCode AI 教你分分钟搞定一篇好文章

    CSDN官方推出 创作助手InsCode AI 很多天了,有心人都能发现,在写作界面的右上角多了一个 创作助手 的浮动按钮,点击后出现如下界面: 现阶段是“限免”状态,不好好利用它来创作,就有点辜负CSDN官方大佬们的良苦用心了。 以主题“动态规划法”写一篇博客,以下是我用

    2024年02月05日
    浏览(47)
  • 史上最全类和对象 ,只要你认真看完C++类和对象,分分钟钟都吊打面试官【 C++】

    C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。 比如一个创建一个外卖系统 对于面向过程来说,我们关注的是下单、接单、送餐三个过

    2024年02月06日
    浏览(47)
  • 近4w字吐血整理!只要你认真看完【C++编程核心知识】分分钟吊打面试官(包含:内存、函数、引用、类与对象、文件操作)

    🌈个人主页:godspeed_lucip 🔥 系列专栏:C++从基础到进阶 🏆🏆关注博主,随时获取更多关于C++的优质内容!🏆🏆 🍉配套markdown文件下载:请翻阅至文章底部获取 本阶段主要针对C++ 面向对象 编程技术做详细讲解,探讨C++中的核心和精髓。 C++程序在执行时,将内存大方向划

    2024年01月17日
    浏览(47)
  • Python+selenium,轻松搭建 Web 自动化测试框架

    在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。 「自动化测试」就是一个最好的例子。 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的业务要求,只能被企业逐步裁员淘汰。 「自动化测试

    2024年02月10日
    浏览(107)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包