介紹:
采用python3語言規(guī)則锅知,利用pytest框架管理用例植榕,selenium框架定位元素并執(zhí)行操作粱腻,yaml文件管理元素定位路徑庇配,allure模塊美化測試報告。
1绍些、新建文件夾element_yaml
2捞慌、文件夾下,新建yaml文件
3卿闹、文件中存放元素定位
4、把打開yaml文件的方法寫到conftest.py文件里面
5锻霎、測試用例中使用conftest.py文件中的方法
附上代碼:
- yaml文件內容
---
#用戶名
yh: //input[@placeholder="請輸入用戶名"]
#密碼
mm: //input[@placeholder="請輸入密碼"]
#獲得驗證碼
yzm: //div[@class="verificationCode"]
#輸入驗證碼
sryzm: //input[@placeholder="請輸入驗證碼"]
#點擊登錄
dl: //button[text()="登錄"]
- conftest.py文件內容
import yaml
import pytest
@pytest.fixture()
def zy():
with open(file="zz./element_yaml/aa.yaml", mode="r", encoding="utf-8")as fm:
w = yaml.load(fm, Loader=yaml.FullLoader)
return w
- test測試用例內容
@allure.feature("克隆菜單包")
class Test_cdb():
@allure.story('正常登錄')
@allure.severity(allure.severity_level.BLOCKER) # 優(yōu)先級
@allure.description('用戶名和密碼正確揪漩,正常登錄')
@allure.testcase("https://xxx.xxx.xxx/", "測試環(huán)境地址旋恼,請點擊跳轉")
def test_login(self,zy):
# 打開登錄界面
driver.get('https://txqa.ziyun-cloud.com/zyconsole/')
driver.maximize_window() # 最大化瀏覽器
driver.implicitly_wait(8) # 設置隱式時間等待
# 輸入用戶名
with allure.step('輸入用戶名:'):
dr.send_keys('輸入用戶名',zy["yh"], 'admin')
# 輸入密碼
with allure.step('輸入密碼:'):
dr.send_keys('輸入密碼', zy['mm'], '123456')
# 獲取驗證碼
text = dr.get_text('獲取四位驗證碼', zy['yzm'])
# 輸入驗證碼
with allure.step('輸入驗證碼:'):
dr.send_keys('輸入驗證碼',zy['sryzm'], text)
# 點擊登錄
with allure.step('點擊登錄'):
dr.click('點擊登錄按鈕', zy['dl'])
# 異常處理
try:
text = driver.find_element_by_xpath("http://span[text()='首頁']").text
assert text in driver.page_source
except Exception as e:
dr.screenshot('獲取異常截圖', '異常截圖')
log.error('登錄功能報錯信息' + str(e))
allure.attach("{0}".format(e), "登錄功能報錯日志")