自动化测试教程(15)数据断言

1.任务目标

我们上节课学习了数据驱动,我们这节课学习一下断言,为什么要学习断言那,就是为了判断内容是服正确。

2.数据断言

断言使用的主要是assertEqual方法,如何检查测试用例执行是否正确:
(1)通过比对页面元素的文本信息,检查测试用例执行结果的正确性,编写代码如下:Find_element().text。
(2)通过对比页面标题信息,检查测试用例执行结果的正确性,编写代码如下:Driver.title。
(3)通过对比网址信息,检查测试用例执行结果的正确性,编写代码如下:Driver.current_url。
(4)通过比对页面元素的属性信息,检查测试用例执行结果的正确性,编写代码如下:FindElement().get_attribute(“value”)。

3.代码如下

读取csv文件

import csv


def rend():
    ps = r"E:\rest.csv"
    stem = open(ps, "r")
    tat = csv.reader(stem)
    list = []
    i = 0
    for row in tat:
        if i != 0:
            list.append(row)
        i = i + 1
    return list


if __name__ == '__main__':
    arr = rend()
    for row in arr:
        print(row)

断言代码

import time
import unittest
import ddt
from selenium import webdriver
from test02 import rend


@ddt.ddt
class Data_dda(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.maximize_window()
        self.driver.implicitly_wait(3)

    stem_info = rend()

    @ddt.data(*stem_info)
    def test_id(self, list):
        # 抛个异常
        try:
            self.driver.get("http://test.pandabrother.cn/gpracticef/my/login.html")
            self.driver.find_element_by_xpath('//*[@id="input-name"]').send_keys("liufengning")
            self.driver.find_element_by_xpath('//*[@id="input-password"]').send_keys("123456")
            self.driver.find_element_by_xpath("/html/body/div/div/div[1]/section/form/div[3]/button").click()
            self.driver.find_element_by_xpath('//*[@id="sidebar-menu"]/div/ul/li/a').click()
            self.driver.find_element_by_xpath('//*[@id="sidebar-menu"]/div/ul/li/ul/li[2]/a').click()
            self.driver.find_element_by_xpath(
                '/html/body/div[1]/div/div[3]/div/div[3]/div[2]/div/form/button[2]').click()
            self.driver.find_element_by_id('input-name').send_keys(list[0])
            self.driver.find_element_by_xpath('//*[@id="btn-save"]').click()
            # 用text获取断言内容
            emte = self.driver.find_element_by_id('out-tip').text
            # 判断csv内容和读取内容是否一致用断言判断
            self.assertEqual(emte, list[1])
            print('用例执行成功')
        #     如果判断错误则截图
        except:
            print("用例执行失败")
            tiem01 = time.strftime("%Y-%m-%d-%H-%M-%S")
            self.driver.get_screenshot_as_file(r"E:\," + tiem01 + ".png")


def tearDown(self):
    self.driver.quit()


if __name__ == '__main__':
    unittest.main()

执行结果如下
在这里插入图片描述

4.小结

断言以后用的非常多,他可以判断我们程序是否正确,也可以判断数据驱动后结果是否正确,也可以判断内容是否正确,用处很多,需要熟练掌握。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值