Python之Unittest

本文介绍了Python内置的单元测试框架unittest,包括unittest的基本概念如TestCase、TestSuite、TestLoader和TestRunner。通过示例代码展示了unittest的使用方法,如断言、TestSuite的三种用法,并引入HTMLTestRunner生成详细的测试报告。最后总结了使用unittest编写测试用例的步骤。
摘要由CSDN通过智能技术生成

HTMLTestRunnerNew下载地址:
链接: https://pan.baidu.com/s/1p33EkYp73n2RcZlhXnnZsw 提取码: 7prr 复制这段内容后打开百度网盘手机App,操作更方便哦

前言

学习了好久的Python基础语法,今天,我们的学习内容终于要和测试挂钩了。学习自动化测试的第一步,我们首先接触的就是unittest。接下来,就让我们开始今天的学习内容。
首先,我们要知道的是,"unittest"是Python中一个自带的单元测试框架,使用的时候直接import导入就可以,而不需要去pip install。它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作。

定义

在学习写代码之前,让我们学习一些有关的关键词定义。
TestCase
TestCase指的是一个测试用例,比如说,我们登陆中的“输入正确用户名和密码,登陆成功”,“输入正确用户名不输入密码,提示密码为空”,这些都是一个测试用例。
TestSuite
TestSuite 是一个测试用例的集合,就是将多个TestCase集合在一起就叫做TestSuit。在实战中,我们可以将所有一个模块的测试用例集合在一起,组成一个TestSuit。
TestLoader
TestLoader是用来加载TestCase到TestSuite中的,可以说是一种媒介吧。
TestRunner
TestRunner是来执行测试用例的,测试的结果会保存到TestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息

unittest代码解析

了解完各种定义,我们来看一下unittest的使用,看如下代码:

"""登陆模块代码"""
class Login:
    def __init__(self):
        self.name = None
        self.password = None

    def login(self, name, password):
        """
        登陆功能,当用户名和密码相等时登陆成功,否则登陆失败
        :param name: 用户名
        :param password: 密码
        """
        self.name = name
        self.password = password
        if self.name == self.password:
            print("登陆成功")
            return True
        else:
            print("登陆失败")
            return False
Python Appium unittest is a testing framework used to automate mobile application testing using Python programming language. It is built on top of the unittest module and provides a set of methods and assertions to test mobile applications. To use Python Appium unittest, you need to have Appium installed on your machine and a mobile device or emulator to test your application on. You also need to have the Appium Python Client installed in your Python environment. Here is an example of a Python Appium unittest script: ``` import unittest from appium import webdriver class TestApp(unittest.TestCase): def setUp(self): desired_caps = { 'platformName': 'Android', 'deviceName': 'Android Emulator', 'appPackage': 'com.example.myapp', 'appActivity': 'MainActivity' } self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) def tearDown(self): self.driver.quit() def test_login(self): email_field = self.driver.find_element_by_id('email') email_field.send_keys('testuser@example.com') password_field = self.driver.find_element_by_id('password') password_field.send_keys('password123') login_button = self.driver.find_element_by_id('login_button') login_button.click() assert 'Welcome' in self.driver.page_source if __name__ == '__main__': unittest.main() ``` In this example, we are testing a login functionality of an Android application. We first set up the desired capabilities for our test, which include the platform name, device name, app package, and app activity. We then initialize the Appium webdriver with these capabilities. In the `test_login` method, we find the email and password fields and enter test data. We then find the login button and click on it. Finally, we assert that the word 'Welcome' is present in the page source after successful login. To run this test, you can simply execute the script in your terminal using the command `python test_app.py`.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值