当前位置: 首页 > news >正文

移动端的自动化基于类实现启动一次应用跑全部用例

1.unittest框架

class TestStringMethods(unittest.TestCase):
    def setUp(self) -> None:  # 每一条测试用例开始前执行
        print("setup")
 
    def tearDown(self) -> None:  # 每一条测试用例结束后执行
        print("teardown")
 
    @classmethod
    def setUpClass(cls) -> None:  # 此类的所有测试执行前执行一次
        print("setupcls")
 
    @classmethod
    def tearDownClass(cls) -> None:  # 此类的所有测试执行后执行一次
        print("teardowncls")

2.pytest框架

setup_class、teardown_class

该方法表示在类中执行测试用例前,只执行1次测试前置和测试后置

setup_method、teardown_method

该方法表示在类中每次执行测试用例前,测试前置和测试后置都会执行一次

setup_function、teardown_function

该方法表示在类外面执行用例过程中,每次都会执行前置和后置。

setup_module、teardown_module

该方法表示只能类外面执行用例过程中,只执行1次。相当于unittest中的setupclass和teardownclass方法

setup、teardown

先介绍第一个大家都比较熟悉的与unittest中的书写一直,这个可以在类中使用,也可以在类外进行使用。

该方法每条用例都会执行

本文就采用的pytest框架,基于类封装启动移动端应用进行用例测试

class driver_base_class():
@classmethod
def setup_class(cls)-> None:
cls.desired_caps = {
"appPackage": "plus.H5EA2E279",
"platformName": "Android",
"deviceName": "cb5c2f8f",
"appActivity": "io.dcloud.PandoraEntry",
"skipServerInstallation": "false"
}
with warnings.catch_warnings():
warnings.filterwarnings("ignore", category=DeprecationWarning)
cls.driver = webdriver.Remote('http://localhost:4723/wd/hub', cls.desired_caps) # 启动app
@classmethod
def teardown_class(cls)-> None:
cls.driver.quit()

在测试用例类中集成上面封装好的启动应用类的方法

class Test_login(driver_base_class):

       """编写测试用例""""

在终端使用 pytest -v test_login.py --alluredir=../reports 即在测试用例中启动测试用例即可

http://www.lryc.cn/news/242336.html

相关文章:

  • Python与设计模式--抽象工厂模式
  • JSP:MVC
  • 微服务-京东秒杀
  • 「MACOS限定」 如何将文件上传到GitHub仓库
  • python opencv 边缘检测(sobel、沙尔算子、拉普拉斯算子、Canny)
  • 【Unity入门】鼠标输入和键盘输入
  • 芯知识 | MP3语音芯片IC的优势特征及其在现代科技应用中的价值
  • C语言进阶之路-基本数据小怪篇
  • 【OpenCV实现图像:使用OpenCV生成拼图效果】
  • 【AOSP】生成签名文件release key,通过Android源码对apk进行签名
  • 深度学习之基于Tensorflow银行卡号码识别系统
  • 第95步 深度学习图像目标检测:Faster R-CNN建模
  • 设计模式—里氏替换原则
  • PyTorch包
  • 22、什么是中间件和权限拦截中间件实操
  • vue.config.js
  • 80C51单片机----数据传送类指令
  • 【Golang】使用泛型对数组进行去重
  • Ps:画笔工具的基本操作
  • 【Apache Doris】一键实现万表MySQL整库同步 | 快速体验
  • 35.逻辑运算符
  • ASP.NET Core 启用CORS
  • io.lettuce.core.RedisCommandExecutionException
  • vue3 导出数据为 excel 文件
  • PyQt6简介
  • 某60区块链安全之未初始化的存储指针实战二学习记录
  • 软件工程第十二周
  • electron 问题记录
  • nodejs+vue+python+PHP+微信小程序-留学信息查询系统的设计与实现-安卓-计算机毕业设计
  • JWT和Token之间的区别