selenium:Web断言

断言:在流程结束之后进行调用,将自动化脚本实际运行的结果与预期结果进行对比,如果相同则表示运行成功。

注意:校验的点要为页面中最为关键能够表达此次结果的元素。自动化脚本不写断言,相当于没有执行测试一个效果。

1.  第一种断言方式:assert  

     Python中自带的关键字:通过表达式来进行断言 

from selenium import webdriver

# 登录流程
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get('http://39.98.138.157/shopxo/index.php?s=/index/user/logininfo.html')

driver.find_element('name', 'accounts').send_keys('xiaoyang123_')
driver.find_element('name', 'pwd').send_keys('cxy521521')
driver.find_element('xpath','//button[text()="登录"]').click()

# 断言:assert
assert '退出' == driver.find_element('link text', '退出').text #获取元素的文本信息

2.  第二种断言方式:显示等待

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait

#登录流程
driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get('http://39.98.138.157/shopxo/index.php?s=/index/user/logininfo.html')

driver.find_element('name', 'accounts').send_keys('xiaoyang123_')
driver.find_element('name', 'pwd').send_keys('cxy521521')
driver.find_element('xpath','//button[text()="登录"]').click()

# 显示等待
WebDriverWait(driver, 5, 0.5).until(lambda el: driver.find_element('link text', '退出1'),
                                    message='流程运行失败')'''

3.  第三种断言方式:if...else...

from selenium import webdriver

driver = webdriver.Chrome()
driver.implicitly_wait(5)
driver.get('http://39.98.138.157/shopxo/index.php?s=/index/user/logininfo.html')

driver.find_element('name', 'accounts').send_keys('xiaoyang123_')
driver.find_element('name', 'pwd').send_keys('cxy521521')
driver.find_element('xpath','//button[text()="登录"]').click()

# if else
text = '退出1'
text1 = driver.find_element('link text', '退出').text
if text == text1:
    print(True)
else:
    print(False)

你可能感兴趣的:(自动化测试之selenium,selenium,测试工具)