从0到1完成appium+pytest+allure框架-加入断言

现在我们已经完成了整个登录的流程,但是感觉少点什么,还没有断言

为什么要断言呢?

断言的作用并不只是判断case运行结果,它还有一个重要的作用就是能够把运行的结果作为记录输出到测试报告

那么我们的断言应该怎么写呢,我的做法是在登录之后判断页面内是否有登录成功后的页面的某个元素

import yaml
from practice.Find_Element.Login_Element import UserLoginElement
from selenium.webdriver.common.by import By



class Login(UserLoginElement):
# 登录
def get_login(self):
with open('../desired_caps.yaml', 'r', encoding='utf-8') as f:
dl = yaml.load(f, Loader=yaml.FullLoader)
mobile = dl['mobile']
password = dl['password']
# 判断是否登录,
try:
self.get_personal_center().click()
self.driver.find_element(By.XPATH, '').click()
self.driver.find_element(By.ID, '').click()
self.driver.find_element(By.ID, '').click()
except Exception as e:
print('未登录,执行登录用例')
self.get_service_agreement().click()
self.get_personal_center().click()
self.get_input_mobile().send_keys(mobile)
self.get_input_password().send_keys(password)
self.get_privacy_agreement().click()
self.get_login_value().click()
       # 定位一个包含text内容的元素,然后通过assert in方法判断元素是否存在
       el = self.driver.find_element(By.ID, '')

       assert '' in el.text, ''
这里我加了两行代码,去获取元素,然后对这个元素的text属性进行断言的判断。
我故意把断言写个错的,运行一下看看结果

 可以看到是直接报错了,因为断言没有通过,UI自动化的话基本都可以用这种方法进行断言。

 


posted @ 2022-01-10 00:26  Rookie_C  阅读(473)  评论(0编辑  收藏  举报