还在纠结搭建框架无从下手?Python + Selenium,分分钟搭建 Web 自动化测试框架

本文主要是介绍还在纠结搭建框架无从下手?Python + Selenium,分分钟搭建 Web 自动化测试框架,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

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

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

在这里插入图片描述
在这里插入图片描述
所以,如果你正准备入行或者转岗做测试工程师的工作,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

既然名为网页浏览器自动化自然要安装浏览器,一般来说, Chrome 、 Firefox 等浏览器都可以,这里我们使用当前系统自带的 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 文件夹中。

在这里插入图片描述
将目录切换至桌面:

$ 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 如果浏览器打开并进入实验楼网站,则环境配置就成功了。
在这里插入图片描述
浏览器操作

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

#! /usr/bin/python3from selenium import webdriver
from time import sleepdriver = webdriver.Firefox()# 浏览器进入百度网站
driver.get("https://www.baidu.com")# 设置浏览器宽800,高400
driver.set_window_size(800, 400)# 等待3sleep(3)# 刷新页面
driver.refresh()# 等待3sleep(3)# 最大化窗口
driver.maximize_window()# 退出浏览器
driver.quit()- name: check filescript: |#!/bin/bashls /home/shiyanlou/Desktop/demo2.pyerror:还没有在 /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 运行,结果显示如下:页面显示:

在这里插入图片描述
在这里插入图片描述
执行以上代码后会在 xfce 中输出如下信息:

在这里插入图片描述
软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。

在这里插入图片描述

这里有我整理的一些资料,如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加我们的软件测试交流群 313782132 ,里面有各种软件测试资料和技术交流

这篇关于还在纠结搭建框架无从下手?Python + Selenium,分分钟搭建 Web 自动化测试框架的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/323804

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装