目录
前言
一、环境搭建
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 webdriver
class 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 = None
return 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)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=46FPXwITnxDxmv0ov2QebrZmF5SyN4iM&authKey=HPgSIg8vrQ0cjTChiHurglYUzLxWB48E441Y3HR2JEvhjV7QR0wbDE8YuEkbpJmr&noverify=0&group_code=574737577