提高自动化测试效率 , WEB自动化框架的基础封装模块!

news/2025/1/15 21:38:55/

目录

前言

一、环境搭建

1. Python环境

2. Selenium安装

3. Chrome浏览器

二、基础封装模块介绍

1. 代码框架介绍

2. 使用示例

三、总结


前言

在软件测试中,WEB自动化测试已成为不可或缺的一部分。WEB自动化测试涉及到大量的代码编写,为了提高代码的重复利用率,降低代码复杂度,我们需要封装一套可重用的WEB自动化框架。本文将介绍WEB自动化框架封装的基础封装模块。

一、环境搭建

1. Python环境

要搭建 WEB自动化测试环境,首先需要安装Python。

2. Selenium安装

Selenium是一套WEB自动化测试的工具,能够支持多种浏览器。Selenium还有一系列的API接口来实现模拟鼠标和键盘操作,实现页面元素的定位和操作等。

通过Python的pip来安装Selenium,命令如下:

pip install selenium

3. Chrome浏览器

Selenium支持多种浏览器,其中Chrome浏览器使用最为广泛。需要安装Chrome浏览器和对应的驱动程序,以便Selenium能够调用Chrome浏览器进行测试。

可通过以下网址下载Chrome浏览器:

https://www.google.com/chrome/

同时还需要下载对应版本的Chrome驱动程序,可通过以下网址下载:

http://chromedriver.storage.googleapis.com/index.html

下载完驱动程序后,将驱动程序文件复制到Python环境中的Scripts目录中即可。

二、基础封装模块介绍

1. 代码框架介绍

基础封装模块主要分为两个部分:

第一部分是启动浏览器和页面的初始化,包括封装好的浏览器驱动初始化、所要访问的页面的URL初始化和访问页面的方法等;

第二部分是页面元素操作,包括封装了页面元素定位方法、元素操作方法(例如输入框输入文字、按钮点击等)、获取元素信息(例如获取元素的文本值、获取元素属性值等)。

基础封装模块是WEB自动化框架的核心部分,具体代码实现如下:

from selenium import webdriverclass BasePage:# 封装浏览器初始化和页面URL初始化def __init__(self, url):self.driver = webdriver.Chrome()self.driver.get(url)self.driver.maximize_window()# 封装访问页面的方法def open(self, url):self.driver.get(url)# 封装页面元素定位方法def locator_element(self, locator_type, locator_value):if locator_type == "id":element = self.driver.find_element_by_id(locator_value)elif locator_type == "name":element = self.driver.find_element_by_name(locator_value)elif locator_type == "class":element = self.driver.find_element_by_class_name(locator_value)elif locator_type == "xpath":element = self.driver.find_element_by_xpath(locator_value)elif locator_type == "link_text":element = self.driver.find_element_by_link_text(locator_value)else:element = Nonereturn element# 封装输入框输入文字方法def input_text(self, locator_type, locator_value, text):element = self.locator_element(locator_type, locator_value)if element is not None:element.clear()element.send_keys(text)# 封装按钮点击方法def click_button(self, locator_type, locator_value):element = self.locator_element(locator_type, locator_value)if element is not None:element.click()# 封装获取元素文本值方法def get_element_text(self, locator_type, locator_value):element = self.locator_element(locator_type, locator_value)if element is not None:return element.text# 封装获取元素属性值方法def get_element_attribute(self, locator_type, locator_value,attribute_name):element = self.locator_element(locator_type, locator_value)if element is not None:return element.get_attribute(attribute_name)# 封装关闭浏览器方法def close(self):self.driver.quit()

2. 使用示例

下面通过一个简单的Demo来介绍如何使用基础封装模块:

from BasePage import BasePage# 打开页面
base_page = BasePage("http://example.com")# 获取文本输入框,并输入文字
base_page.input_text("id", "text_box", "This is a test.")# 点击“提交”按钮
base_page.click_button("id", "submit_btn")# 获取提交后的提示文本
text = base_page.get_element_text("id", "result")
print(text)# 关闭浏览器
base_page.close()

通过以上代码示例,可以看到使用基础封装模块可以实现一些简单的WEB自动化测试操作。在实际使用中,可以将该模块进行封装和拓展,以满足具体项目的需求。

三、总结

本文主要介绍了WEB自动化框架封装的基础封装模块。基础封装模块是WEB自动化框架的核心部分,通过封装常用的页面元素操作方法,可以提高代码的复用性,降低代码复杂度。基础封装模块还可以作为WEB自动化测试框架的基础,为后续的功能拓展提供支持。

 作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=46FPXwITnxDxmv0ov2QebrZmF5SyN4iM&authKey=HPgSIg8vrQ0cjTChiHurglYUzLxWB48E441Y3HR2JEvhjV7QR0wbDE8YuEkbpJmr&noverify=0&group_code=574737577

 


http://www.ppmy.cn/news/240979.html

相关文章

e2140服务器性能,4000 还是E2140?两大人气CPU对决

4000 还是E2140?两大人气CPU对决 互联网 发布时间:2009-04-21 01:31:37 作者:佚名 我要评论 今夏攒机,双核处理器无疑是网友们的第一选择。由于Intel和AMD的大力推广,双核处理器的价格目前已经跌到了一个大众消…

[硬件,CPU篇]英特尔中央处理器详解

最近笔者换了个电脑,由于笔者并没有家里的财政大权(大概知道落在谁手里了,old woman),电脑的选择就易受价格影响。所以笔者决定,写关于电脑硬件的文章。 我们从英特尔的CPU开始吧。 主要架构 Intel有8个CPU架构,这里列举主要的几种: 主流架构:酷睿(Core,面向中高端),奔腾(Penti…

【硬件】- 英特尔CPU命名规则

前言 一款Intel CPU的命名,一般由5个部分组成:品牌,品牌标识符,Gen标识,SKU数值,产品线后缀。 以下图为例; 品牌 英特尔旗下处理器有许多子品牌,包括我们熟悉的凌动(ATOM&#xff09…

Intel CPU命名规则的简略解析

Intel的CPU命名规则一直不是特别清楚,而网上的很多解读是不准确,甚至是错误的,应该以官方文档为准。所以我在查阅官方资料的基础上,以一种简明扼要的方式记录下来。值得说明的是,这个解析只是简略的,一般人只要知道这些就够了,发烧玩家应该搜索想要了解的CPU的详细规格信…

computer-01 CPU

computer-01 CPU 初识CPU 对于需要购买笔记本电脑的朋友们来说,不同的用途,对电脑CPU的要求也是不一样的。需要玩吃鸡等大型游戏、视频处理剪辑、大数据分析的同学适合选择标压处理器。对性能要求不高,但是经常需要经常出差,背着…

低电压版cpu java编程_cpu低电压版跟标准电压版区别哪个好

cpu低电压版跟标准电压版区别哪个好 一、什么是低电压处理器 超低电压处理器,英文全称『Ultra Low Voltage』又称为ULV处理器,其结尾命名通常带有U结尾,比如i5-4200U。现在的低电压处理器主要有T系列,U系列,Y系列。U系…

ARM处理器对比分析

Arm处理器大致可以分为Classic、Cortex-M、Cortex-R以及Cortex-A三个系列,其性能天梯图如下,Classic 系列处理器在很大程度上已经逐步被 Cortex 系列所取代 ARM Classic(传统)系列处理器 ARM7 系列:基于 ARMv3 或 A…

ARM架构与CPU

首先介绍两大主流CPU架构——ARM和x86的构造,然后从性能、扩展能力、操作系统的兼容性、软件开发的方便性及可使用工具的多样性及功耗这五个方面进行对比,扩展介绍RISC精简指令集。介绍CPU参数解读和概念辨析。最后介绍一些和CPU相关的Linux命令。 一、…