python 讀取yaml檔案的兩種方法(在unittest中使用)
阿新 • • 發佈:2020-12-03
作者:做夢的人(小姐姐)
出處:https://www.cnblogs.com/chongyou/
python讀取yaml檔案使用,有兩種方式:
1.使用ddt讀取
2,使用方法讀取ddt的內容,在使用方法中進行呼叫
1.使用ddt讀取
@ddt.ddt class loginTestPage(unittest.TestCase): @ddt.file_data(path) @ddt.unpack def testlogin(self,**kwargs): u''' "輸入郵件賬號、使用者名稱、密碼符合要求 勾選同意協議" 1、註冊成功,跳轉到註冊成功頁面 " 1、驗證URL,https://www.XX.com/site/register-success.html 2、郵箱收到註冊成功郵件 3、資料庫中user表中有成功添加註冊賬號資料" :return: ''' self.loginPage = CBLogin(self.driver) log.info(kwargs) self.page = Page(self.driver,kwargs.get('login_url')) self.page.send_text(self.loginPage.login_sendkes_username(),kwargs.get('username')) self.page.send_text(self.loginPage.login_sendkes_password(),kwargs.get('password')) self.page.click(self.loginPage.login_click_btn()) # 斷言登入是否成功 self.assertIsNotNone(self.loginPage.is_success(),"元素沒有查詢到,登入失敗")
2.使用已有的方法進行呼叫
class HandleYmal: """ 獲取測試環境的配置 """ def __init__(self,file_path=None): if file_path: self.file_path=file_path else: #獲取path root_dir=os.path.dirname(os.path.abspath('.')) print(root_dir) self.file_path=root_dir+"/config/base.yaml" def get_data(self): fp=open(self.file_path,encoding="utf-8") data=yaml.load(fp) return data @ddt.ddt class loginTestPage(unittest.TestCase): @classmethod def setUpClass(cls): """前置應該是讀取所有內容""" yaml=HandleYmal() cls.kwargs=yaml.get_data()['testenvironment'] cls.driver = webdriver.Chrome() def testlogin(self): u''' "輸入郵件賬號、使用者名稱、密碼符合要求 勾選同意協議" 1、註冊成功,跳轉到註冊成功頁面 " 1、驗證URL,https://www.chinabrands.com/site/register-success.html 2、郵箱收到註冊成功郵件 3、資料庫中user表中有成功添加註冊賬號資料" :return: ''' self.loginPage = CBLogin(self.driver) log.info(self.kwargs) self.page = Page(self.driver,self.kwargs.get('login_url')) self.page.send_text(self.loginPage.login_sendkes_username(),self.kwargs.get('username')) self.page.send_text(self.loginPage.login_sendkes_password(),self.kwargs.get('password')) self.page.click(self.loginPage.login_click_btn()) # 斷言登入是否成功 self.assertIsNotNone(self.loginPage.is_success(),"元素沒有查詢到,登入失敗")
以上就是python 讀取yaml檔案的兩種方法(在unittest中使用)的詳細內容,更多關於python 讀取yaml檔案的資料請關注我們其它相關文章!