1. 程式人生 > 實用技巧 >Selenium資料驅動測試模型和例項

Selenium資料驅動測試模型和例項

模組驅動的模型雖然解決了指令碼的重複問題,但是需要測試不同資料的用例時,模組驅動的方式就不很適合了。 資料驅動就是資料的改變從而驅動自動化測試的執行,最終引起測試結果的改變。 裝載資料的方式可以是列表、字典或是外部檔案(txt、csv、xml、excel),目的就是實現資料和指令碼的分離。

程式碼實現如下:(文章程式碼url地址為內部地址,我隱藏掉了,你們可以換成其他地址哦)

# #!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2020/8/13 13:46
# @Author : Gengwu
# @FileName: LoginClass_Para.py
# @Software: PyCharm from selenium import webdriver from time import sleep from selenium.webdriver.common.action_chains import ActionChains class Login(): #定義一個類,類下面封裝兩個方法,一個登入,一個退出 def user_login(self,driver,username,password): # 清除使用者名稱的框,防止自動帶入 driver.find_element_by_id('
account').clear() driver.find_element_by_id('account').send_keys(username) # 清除密碼的框,防止自動帶入 driver.find_element_by_id('password').clear() driver.find_element_by_id('password').send_keys(password) # 點選登入按鈕 driver.find_element_by_css_selector(
'#app > div > div > div.content > form > div.login-form-button-item > button').click() # copy到selector sleep(2) def user_logout(self,driver): # 通過懸浮框定位到退出登入 above = driver.find_element_by_class_name('author') ActionChains(driver).move_to_element(above).perform() driver.find_element_by_link_text('退出登入').click() sleep(2) # 點選彈框的確定按鈕 driver.find_element_by_css_selector('.ant-modal-body .ant-btn-primary').click() sleep(2)

資料驅動呼叫——實現多個賬戶登入

# #!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time : 2020/8/13 14:11
# @Author : Gengwu
# @FileName: CallLogin_Para.py
# @Software: PyCharm

from selenium import webdriver
from time import sleep
from LoginClass_Para import *



driver=webdriver.Chrome()
driver.get('https://qa***.com/')
driver.maximize_window()
driver.implicitly_wait(10)
sleep(3)

Login().user_login(driver,'admin','admin')
sleep(3)
Login().user_logout(driver)

Login().user_login(driver,'test','123456')
sleep(3)
Login().user_logout(driver)

sleep(3)
driver.quit()

指令碼放到同一個資料夾下,就可以試下呼叫。

以上如果有問題歡迎隨時溝通和交流。

Best Regards! Make a little progress every day!