自动化测试模型——模块化与参数化

含义

在创建函数或方法时设置参数,使之可根据不同的参数执行相应操作。

实例

创建一个网易邮箱的测试脚本test_mail.py:

	from time import sleep
	from selenium import webdriver
	
	dri = webdriver.Chrome()
	dri.get("http://mail.163.com")
	
	# 登录
	sleep(2)
	dri.find_element_by_id("switchAccountLogin").click()
	login_frame = dri.find_element_by_css_selector(
	    'iframe[id^="x-URS-iframe"]')  # 定位嵌套表单
	dri.switch_to.frame(login_frame)  # 切换表单
	# dri.find_element_by_name("email").clear()
	dri.find_element_by_name("email").send_keys("username")
	# dri.find_element_by_name("password").clear()
	dri.find_element_by_name("password").send_keys("password")
	dri.find_element_by_id("dologin").click()
	sleep(5)
	
	# 退出
	dri.find_elements_by_link_text("退出").click()
	
	dri.quit()

假设要实现一个邮箱的自动化测试项目,每条用例都需要有登录和退出操作,可创建一个新的module.py来存放登录和退出操作。

	class Mail:
	
	    def __init__(self, driver):
	        self.driver = driver
	        
	    def login(self):
	        self.driver.find_element_by_id("switchAccountLogin").click()
	        login_frame = self.driver.find_element_by_css_selector(
	            'iframe[id^="x-URS-iframe"]')  # 定位嵌套表单
	        self.driver.switch_to.frame(login_frame)  # 切换表单
	        self.driver.find_element_by_name("email").send_keys("username")
	        self.driver.find_element_by_name("password").send_keys("password")
	        self.driver.find_element_by_id("dologin").click()
	        
	    def logout(self):
	        self.driver.find_element_by_link_text("退出").click()

修改test_mail.py,使调用Mail类的方法。

	mail = Mail(dri)
	mail.login()
	mail.logout()

与未修改前功能一致。
若需求是测试登录功能,可将测试数据(账号密码)参数化,调用Mail的方法即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值