1. 程式人生 > 程式設計 >python 讀取yaml檔案的兩種方法(在unittest中使用)

python 讀取yaml檔案的兩種方法(在unittest中使用)

作者:做夢的人(小姐姐)
出處: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檔案的資料請關注我們其它相關文章!