含义
在创建函数或方法时设置参数,使之可根据不同的参数执行相应操作。
实例
创建一个网易邮箱的测试脚本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的方法即可。