哪个才是最适合你的WebUI自动化测试框架

哪个才是最适合你的WebUI自动化测试框架,第1张

移动端

1、Monkey是AndroidSDK自带的测试工具,在测试过程中会向系统发送伪随机的用户事件流,如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试,也有日志输出。实际上该工具只能做程序做一些压力测试,由于测试事件和数据都是随机的,不能自定义,所以有很大的局限性。

2、也是AndroidSDK提供的测试工具。严格意义上来说其实是一个Api工具包,比Monkey强大,可以编写测试脚本来自定义数据、事件。缺点是脚本用Python来写,对测试人员来说要求较高,有比较大的学习成本。

3、是早期Google提供的Android自动化测试工具类,虽然在那时候JUnit也可以对Android进行测试,但是允许你对应用程序做更为复杂的测试,甚至是框架层面的。通过你可以模拟按键按下、抬起、屏幕点击、滚动等事件。是通过将主程序和测试程序运行在同一个进程来实现这些功能,你可以把看成一个类似Activity或者Service并且不带界面的组件,在程序运行期间监控你的主程序。缺点是对测试人员来说编写代码能力要求较高,需要对Android相关知识有一定了解,还需要配置xml文件,不能跨多个App。

4、UiAutomator也是Android提供的自动化测试框架,基本上支持所有的Android事件 *** 作,对比它不需要测试人员了解代码实现细节(可以用抓去App页面上的控件属性而不看源码)。基于Java,测试代码结构简单、编写容易、学习成本,一次编译,所有设备或模拟器都能运行测试,能跨App(比如:很多App有选择相册、打开相机拍照,这就是跨App测试)。缺点是只支持SDK16(Android41)及以上,不支持HybirdApp、WebApp。

这篇 文章 是关于 自动化测试 框架的,算是一种传统的 测试框架 与新测试框架的一种对比吧( unittest 与pytest)。如果正在学习自动化测试的小伙伴一定不要错过这篇文章了。

Unittest

unittest是 python 标准库,自带的 单元测试 框架,有时候也被称为PyUnit。类似于java的 JUnit

Pytest

pytest是python第三方单元测试库,功能非常的丰富,也比较成熟,比unittest更简洁方便。

下面会从是否需要安装,用例编写规则,用例分类执行,前置和后置,参数化,断言,报告,是否有失败重跑机制等多维度来分析unittest与pytest测试框架的区别;

一、是否需要安装

Unittest是标准库,所以是不需要安装的。

Pytest是第三方库,所以使用前需要安装:pip install pytest

二、用例编写规则

1、Unittest

· 首先需要导入unittest(import unittest)

· 测试类必须继承unittestTestCase

· 测试方法必须以”test_”开头

· 测试类必须要有unittestmain()方法

2、Pytest

· 测试文件必须以”test_”开头或”_test”结尾

· 测试方法必须要”test_”开头

· 测试类的命名要以”Test”开头

· 运行不需要main方法

三、用例分类执行

1、Unittest

默认执行的是全部的 测试用例 ,但也可以通过加载testsuit执行部分测试用例

2、Pytest

通过@pytestmark来标记类和方法,pytestmain加入参数(“-m”)只运行标记的类和方法

四、用例的前置和后置

1、Unittest

unittest提供了setUp/tearDown,在每个用例运行前执行一次,运行结束后执行一次。

SetUpClass和tearDownClass,用例执行前,用例执行结束后,只运行一次。

2、Pytest

pytest提供了模块级,类级,方法级等setup/teardown,比unittest的setUp/tearDown要更丰富灵活。

· 模块级(setup_module/teardown_module)开始于模块始末,全局的,整个模块开只运行一次,优先于测试用例。

· 函数级(setup_function/teardown_function)只对函数用例生效(不在类中)

· 类级(setup_class/teardown_class)只在类中前后运行一次(在类中),只针对此类生效

· 方法级(setup_method/teardown_method)开始于方法始末(在类中),定义在类里面,每个用例都执行一次

五、参数化

1、Unittest

需要依赖DDT库。

2、Pytest

使用@pytestmarkparametrize装饰器。

六、断言

1、Unittest

unittest提供了很多断言方式。

如:assertEqual、assertIn、assertTrue、assertFalse

2、Pytest

pytest提供assert表达式,简单,方便。

七、报告

1、Unittest

unittest使用HTMLTestRunnerNew库

2、Pytest

pytest有pytest-HTML、allure插件

八、失败是否重跑

1、Unittest

unittest没有提供这个功能

2、Pytest

Pytest通过pytest-rerunfailures插件是支持用例执行失败重跑的,

好了,分析完unittest和pytest它们的区别以后,咱们再来做一个简单的总结:

Unittest和Pytest这两个都属于python的单元测试框架,也是目前用的比较多的自动化测试框架。

Unittest呢是Python自带的,比较传统的测试框架,提供的插件少,用例格式比较复杂。Pytest相对来说,更加简单方便 ,兼容性比较强,插件也很丰富。用例出错了还可以重跑,非常的灵活,效率要比Unittest更高。

选择什么协议和语言没有关系,是看编程的时候采用哪种通信协议,说起来就是掉哪个通信类。建议通过两种方法获得,一个是跟开发沟通,看他们编通信的部分用的什么类,一般就可以了解是什么协议,另一个是用LoadRunner95以上的版本有协议探测功能,探测之后会有给你的推荐协议,试一下就知道哪个协议最适合了。

以上就是关于哪个才是最适合你的WebUI自动化测试框架全部的内容,包括:哪个才是最适合你的WebUI自动化测试框架、软件测试框架之unittest与pytest的对比-、用loadrunner测试C/S架构程序,报错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9765803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存