当前位置: 首页 > news >正文

网站建设域名服务器/博为峰软件测试培训学费

网站建设域名服务器,博为峰软件测试培训学费,店铺营业执照在哪个网站做年审,web网站首页设计目录 前言: 一、什么是抽象BasePage 二、BasePage中的属性和方法 三、BasePage中的代码实现 四、抽象Page对象 五、测试用例 六、总结 前言: 对于测试工程师来说,WEB自动化测试是非常重要的一部分。然而,WEB自动化测试的开…

 目录

前言:

一、什么是抽象BasePage

二、BasePage中的属性和方法

三、BasePage中的代码实现

四、抽象Page对象

五、测试用例

六、总结


前言:

对于测试工程师来说,WEB自动化测试是非常重要的一部分。然而,WEB自动化测试的开发成本较高,维护难度也很大。因此,如何规范的开发WEB自动化测试成为了每个测试工程师需要思考的问题之一。本文将介绍如何使用Python和Selenium Webdriver来封装WEB自动化测试框架,其中包括如何抽象BasePage。

一、什么是抽象BasePage

通常来说,我们在开发WEB自动化测试框架时需要创建许多页面对象(Page Object),比如登录页面,注册页面,首页页面等等。每个页面对象都需要有很多方法,如输入框输入数据,点击按钮等。为了避免重复代码的产生,我们可以抽象出一个BasePage。

BasePage是一个基类,包含通用的方法和属性,所有的页面对象都继承BasePage,并通过方法重写来实现自身的方法和属性,这使得代码更为简洁和规范化。

二、BasePage中的属性和方法

属性包括:driver(浏览器驱动实例)、url(当前页面的URL)、title(当前页面的标题)。

方法包括:open(打开页面)、find_element、find_elements、click和input。

其中,find_element和find_elements是页面元素定位的方法,click是点击元素的方法,input是向元素输入文本的方法。

三、BasePage中的代码实现

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECclass BasePage(object):def __init__(self, driver):self.driver = driverself.url = "https://www.example.com"self.title = "Example"def open(self):self.driver.get(self.url)assert self.title in self.driver.titledef find_element(self, *loc):return self.driver.find_element(*loc)def find_elements(self, *loc):return self.driver.find_elements(*loc)def click(self, *loc):element = WebDriverWait(self.driver, 10).until(EC.element_to_be_clickable(loc))element.click()def input(self, *loc, text):element = WebDriverWait(self.driver, 10).until(EC.presence_of_element_located(loc))element.clear()element.send_keys(text)

四、抽象Page对象

在实际开发中,我们需要创建具体的Page对象,继承BasePage,并重写父类的属性和方法。

以登录页面为例:

class LoginPage(BasePage):def __init__(self, driver):super(LoginPage, self).__init__(driver)self.url = "https://www.example.com/login"self.title = "Login"def input_username(self, username):input_loc = (By.ID, "username")self.input(input_loc, username)def input_password(self, password):input_loc = (By.ID, "password")self.input(input_loc, password)def click_submit(self):button_loc = (By.ID, "submit")self.click(button_loc)

五、测试用例

在实际测试过程中,我们使用Page对象来执行测试用例。

例如:

from selenium import webdriver
from pageobjects import LoginPage# 创建浏览器对象
driver = webdriver.Chrome()# 打开登录页面
login_page = LoginPage(driver)
login_page.open()# 输入用户名
login_page.input_username("testuser")# 输入密码
login_page.input_password("testpassword")# 点击登录按钮
login_page.click_submit()# 断言是否登录成功(例如判断是否跳转到首页)
assert "Home" in driver.title# 关闭浏览器
driver.quit()

六、总结

在WEB自动化测试框架中,抽象BasePage是一个非常重要的部分,可以避免重复代码的产生,使得代码更为简洁和规范化。在实际开发中,我们需要创建具体的Page对象,继承BasePage,并重写父类的属性和方法。使用Page对象来执行测试用例可以有效地提高代码的可读性和可维护性。

同时,在编写测试用例时,需要注意以下几点:

1. 尽量避免硬编码(Hard-coding),使用常量或配置文件代替。

2. 对错误情况进行处理,例如元素定位失败等,不要直接抛出异常。

3. 封装公共方法,例如登录方法和退出方法等,方便测试用例的编写。

4. 使用断言(assert)来判断测试结果是否符合预期,例如判断页面标题是否正确、元素是否存在等。

总的来说,抽象BasePage可以让我们更轻松、高效地编写WEB自动化测试用例,提高测试质量和效率。

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

留【自动化测试】即可
【自动化测试交流】:574737577(备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=3Ro31suVzmZQQTuC3pd1DnAqOjZcVkMI&authKey=3LzbiKyASmsZRXGK7rlihB36U4cUmJ1FkwmoupezXCD23%2FnD4mH5mBxDRs4GTCQF&noverify=0&group_code=574737577

http://www.jmfq.cn/news/5338135.html

相关文章:

  • 网站建设人员需求分析/seo教育培训机构
  • 北京旅游网站建设/南昌seo技术外包
  • 青海省建设网站企业/有人看片吗免费的
  • 天门网站建设/seo搜索引擎优化实训总结
  • 开源门户网站建设方案/今天发生了什么重大新闻
  • 数码公司网站建设的意义/百度关键词搜索次数
  • 学校网站 建设 价格/抖音权重查询
  • 组织网站建设应该注意什么/网络推广策划书
  • 金华网站建设/58同城安居客
  • 安徽省城乡与住房建设厅网站/app推广
  • 桂林网站建设凡森网络/友情链接样式
  • 网站建设费摊销年限/俄罗斯引擎搜索
  • 西安学校网站建设哪家专业/郑州疫情最新消息
  • 焦作网站建设费用/河北软文搜索引擎推广公司
  • 企业网站建设套餐上海/排名第一的玉米品种
  • 深圳南山 网站建设/百度权重排名
  • 网站建设时间计划图/西安网站建设
  • 北京建设官方网站/百度上怎么做推广
  • 国务院网站建设指引/steam交易链接怎么用
  • 网站建设发展方向有哪些/代写文章
  • 如何建设网站pdf下载/常州seo排名收费
  • 成都哪家网站建设强/今日十大热点新闻
  • 企业的网站建设与设计论文/网推资源渠道
  • 建设网站应注意什么/新闻热点事件2021(最新)
  • 中小学网站建设探讨/seo系统源码出售
  • 重庆住房城乡建设厅官方网站/手机如何制作自己的网站
  • 深圳数码网站建设/自己如何制作网页
  • 网站建设公司douyanet/海南seo
  • 福州设计网站建设/百度公司图片
  • 英文网站建设价格/windows优化大师最新版本