精华内容
下载资源
问答
  • web自动化框架有哪些
    千次阅读
    2019-04-27 20:50:49

    一、Web自动化常用的框架(主流测试-工具)

            ---QTP(收费):商业化的功能测试工具,收费,支持Web,桌面自动化
    
            ----Selenium(开源):是开源的Web自动化工具,免费,主要做功能测试
    
            ----Jmeter(开源,Web,接口,性能):是由Apache公司适用Java开发的一个测试工具,支持(Web,接口,性能测试)
    
           提示:Web测试在通信层(无UI界面)
    
            ----Loadrunner(收费,Web,性能):是商业化测试工具,功能强大,适合做复杂场景的性能测试
    
           ----Robot Framework  是基于Python可扩展的测试自动化框架
    

    二、主流工具—总结

        1.Web自动化测试:Selenium/Robot Framework
    
        2.Appium   :Appium/Monkeyrunner/UIautomation
    
        3.Pc客户端: QTP
    
        4.接口自动化:Jmeter/Postman/Httpclient/RestClient
    
        5.云测平台 :Testin/Testbird
    
        6.性能:Loadrunner/Jmeter
    
    更多相关内容
  • 自己写Web自动化测试框架!得几年前一本《自己动手写操作系统》在全国的技术范围内引起了学习操作系统的热潮。我不才在这里使用这本书的大名,来...  目前市场上成熟的Web自动化测试框架有不少,很出名的是Watir,是用
  • 目前市场上成熟的Web自动化测试框架有不少,很出名的是Watir,是用现在大名鼎鼎的Ruby写成的,相对于Watir,一个也很不错的.net版本,就是WatiN,WatiN可以说是市面上可以找到的最好的C#Web自动化测试框架。...
  • WebWEB自己动手写Web自动化测试框架6-自动化测试框架的规划软件测试从今天开始,我们正式进入自动化测试框架的编写中。首先我们先进行需求分析:我们到底要什么样的自动化测试框架?正如第一篇《自己动手写Web自动化...
  • github地址: https://github.com/wuranxu/webTest 基于Python的webUI自动化测试框架,支持多平台~带自动下载chrome驱动功能
  • 随着Python语言的使用...这篇文章总结了测试自动化领域,适合Web自动化框架(基于Python语言)以及它们相对于其他方面的优缺点。因此,可以帮助一些人根据需要和实际情况选择合适的的Python框架进行测试自动化。

    目录

    导读:

    Robot Framework

    Robot的优缺点是什么。

    Robot Framework是最适合您的Python测试框架吗?

    pytest

    pytest的优缺点是什么?

    Pytest是最适合您的Python测试框架吗?

    UnitTest

    unittest的优点和缺点是什么?

    PyUnit是您的最佳Python测试框架吗?

    总结


    如果觉得小编写得还不错的同学可以点点关注吗。

    (福利)软件测试面试宝典获取请在评论区留言或者关注公众号:阿里大叔说测试

    导读:

    随着Python语言的使用越来越流行,基于Python的测试自动化框架也越来越流行。在项目选择最佳框架时,开发人员和测试人员会有些无法下手。做出选择是应该判断很多事情,框架的脚本质量,测试用例的简单性以及运行模块并找出其缺点的技术。这篇文章总结了测试自动化领域,适合Web端自动化框架(基于Python语言)以及它们相对于其他方面的优缺点。因此,可以帮助一些人根据需要和实际情况选择合适的的Python框架进行测试自动化。

    Robot Framework

    Robot Framework主要用于测试驱动的开发以及验收测试,它是最好的测试框架之一。虽然是用Python开发的,它也可以运行的IronPython,这是.NET为基础的和基于JavaJython的。Robot Framework作为Python框架可在所有平台上兼容:Windows,MacOS或Linux。

    前提条件

    • 首先,只有安装了Python 2.7.14或更高版本的Python,您才能使用Robot Framework(RF)。
    • 您还需要安装“pip”或其他python软件包管理器。
    • 最后,必须下载一个IDE。在开发人员中流行的工具是PyCharm社区版。

    Robot Framework的优缺点是什么?让我们看一下与其他Python框架相比,作为测试自动化框架的

    Robot的优缺点是什么。

    优点

    • 通过使用关键字驱动的测试方法,它可以帮助测试人员轻松创建可读性很高的测试用例,从而使自动化流程更加简单。
    • 测试数据语法可以轻松使用并组合。
    • 它由通用工具和测试库组成,具有完整的生态系统,可以在单独的项目中使用各个功能。
    • 该框架具有许多API,具有很高的可扩展性。
    • Robot Framework框架可通过Selenium Grid运行并行测试,但需要自行开发相关功能。

    缺点

    • 虽然Robot Framework听起来很方便,但是在创建自定义HTML报告时却很不方便。
    • Robot Framework框架的另一个缺陷是自身并行测试能力不足。

    Robot Framework是最适合您的Python测试框架吗?

    如果您是自动化领域的初学者,并且在开发方面经验较少,那么将Robot Framework用作顶级Python测试框架比pytest或pyunit更容易使用,因为它具有丰富的内置库并且使用更容易的面向测试的DSL。但是,如果要开发复杂的自动化框架,最好切换到pytest或任何其他涉及Python代码的框架。

    pytest

    pytest用于各种软件测试,是测试自动化的另一个顶级Python测试框架。该工具是开源的,易于学习,可以被质量保证团队、开发团队以及个人实践或者开源项目使用。由于其“断言重写”等有优秀的功能。相当一部分项目已经从unittest(Pyunit)切换为pytest。

    前提条件

    除了具有Python的使用知识外,pytest不需要任何复杂的东西。您所需要的只是一个具有命令行界面,python软件包管理器和开发IDE的工作桌面。

    pytest的优缺点是什么?

    优点

    • 在pytest到来之前,大多数人将其测试内容包含在大型类中。随着pytest带来了革命,使得以更紧凑的方式编写测试用例成为现实。
    • Pytest将所有值存储在测试用例中,测试完成之后通知哪个值断言失败和哪个值被断言。
    • 由于不需要太多模板代码,因此测试用例更易于编写和理解。
    • 在pytest中,可以通过讲功能模块化帮助覆盖所有参数组合而无需重写测试用例。
    • pytest的丰富实用的插件,使该框架可扩展性极高。例如,pytest-xdist可以用于执行并行测试,而无需使用其他测试运行程序。单元测试也可以参数化,而无需重复任何代码。

    缺点

    • pytest使用规范和语法意味着开发者必须考虑兼容性。你方便地编写测试用例,但比较难将这些测试用例与任何其他测试框架一起使用。

    Pytest是最适合您的Python测试框架吗?

    必须首先学习一种成熟的语言,但是一旦掌握了这种语言,您将获得所有技能点,例如静态,代码分析,对多个IDE的支持以及最重要的是编写有效的测试用例。对于编写功能测试用例和开发复杂的框架,它比unittest更好,但是如果您的目标是开发简单的框架,则它的优势与Robot Framework有点相似。

    UnitTest

    Unittest或PyUnit是Python自带的用于单元测试的标准测试自动化框架。它受到JUnit的极大启发。基类TestCase提供断言方法以及所有设置规范。TestCase子类中每个方法的名称均以“test”开头。这使它们可以作为测试用例运行。您可以将加载方法和TestSuite类用于该组并加载测试。您可以一起使用它们来构建自定义的测试运行器。就像使用JUnit进行Selenium测试一样,unittest也可以使用unittest-sml-reporting并生成XML报告。

    前提条件

    几乎没有前提条件,因为Python默认情况下自带unittest。要使用它,您将需要python框架的标准知识,并且如果您想安装其他模块,则需要安装pip以及一个IDE进行开发。

    unittest的优点和缺点是什么?

    优点

    作为Python标准库的一部分,使用Unittest有多个优点。

    • 开发人员不需要安装任何其他模块,因为该模块随附了该模块。
    • Unittest是xUnit的派生产品,其工作原理类似于其他xUnit框架。熟悉的语法和规范会让初学者觉得轻松一些。
    • 可以以更简单的方式运行各个测试用例,需要做的就是在终端上指定名称。输出也很简洁,在执行测试用例时更加灵活。
    • 测试报告在毫秒内生成。

    缺点

    • 通常,snake_case用于命名python代码。但是由于该框架从Junit中获得了很多启发,因此传统的camelCase命名方法仍然存在。这可能会令人感到困惑和混乱。
    • 测试代码的会变得难以阅读,因为它过多地支持抽象。

    PyUnit是您的最佳Python测试框架吗?

    pytest引入了某些惯用作法,使测试人员可以以非常紧凑的方式编写更好的自动化代码。尽管unittest是默认的测试自动化框架,但是它的工作原理和命名约定与标准Python代码略有不同,这使它不是Python自动化测试的首选框架。

    总结

    在上面的内容中,我们讨论了基于不同测试过程的Python框架。pytest,Robot框架,单元测试用于功能和单元测试。我们可以得出结论,对于功能测试,pytest是最好的。但是,如果您不熟悉基于python的自动化测试,那么Robot Framework是入门的绝佳工具。尽管功能有限,但是它将使您轻松地走上正轨,快速产出效果明显。

    如果觉得小编写得还不错的同学可以点点关注吗。

    (福利)软件测试面试宝典获取请在评论区留言或者关注公众号:阿里大叔说测试

    展开全文
  • LuckyFrame测试平台是一款由Seagull发起的免费开源测试平台\测试工具,最大的特点是全纬度覆盖了接口自动化WEB UI自动化、APP自动化,并且支持分布式测试,测试关键字驱动也很大程度上解决了测试同学代码基础弱的...

    1 luckyframe

    码云地址 https://gitee.com/seagull1985/LuckyFrameWeb

    https://gitee.com/seagull1985/LuckyFrameClient

    官网 http://www.luckyframe.cn/
    LuckyFrame测试平台是一款由Seagull发起的免费开源测试平台\测试工具,最大的特点是全纬度覆盖了接口自动化、WEB UI自动化、APP自动化,并且支持分布式测试,测试关键字驱动也很大程度上解决了测试同学代码基础弱的问题。同时也集成了质量管理相关的一些功能,解决QA的日常工作中,项目过程数据的收集问题,并能展示一些简单质量报表。


     

    2 kylinTOP

    http://www.kylinpet.com/cloud/help/index.html

    kylinTOP测试与监控平台(kylin Test Observe Platform)是一款国产的集性能测试、自动化测试(UI、接口、APP)、业务&接口监控于一体的产品。kylinTOP是B/S架构的分布式系统,支持跨平台(WINDOWS/LINUX/SOLARIS/麒麟/MAC等)运行。

     

    3 AirtestProject / Airtest

    https://gitee.com/AirtestProject/Airtest

    跨平台的UI自动化框架,适用于游戏和App

    4 TommyLemon / UnitAuto

    码云 https://gitee.com/TommyLemon/UnitAuto

    作者 https://github.com/TommyLemon

    被测项目不需要写任何单元测试代码(逻辑代码、注解代码等全都不要),UnitAuto 会自动生成测试参数,并执行方法,拿到返回值等进行校验。泛型、接口等自动模拟,异步执行方法自动记录回调过程,都是零代码。

    UnitAuto 不需要写任何代码,直接读取方法的属性,自动注入参数,拿到返回值和类成员变量,机器学习自动化校验。

    5  MeterSphere 的优势

    一站式开源持续测试平台,让测试不再成为持续交付的瓶颈

    https://fit2cloud.com/metersphere/index.html

     

    展开全文
  • Web自动化测试框架搭建:内含自动化测试理念介绍及分层的自动化测试框架搭建,整个自动化测试采用CI管理
  • 为更好的学习自动化框架搭建,你需要提前了解以下知识: python基础知识 pytest单元测试框架 PO模式 selenium使用 环境 本次我们自动化环境为: mac+python3+selenium3+pytest==6.2.4 (不管是win还是mac,网上环境...

    -前期准备
    -环境
    -实战: 从0开始

    前期准备
    为更好的学习自动化框架搭建,你需要提前了解以下知识:
    python基础知识
    pytest单元测试框架
    PO模式
    selenium使用

    环境
    本次我们自动化环境为:
    mac+python3+selenium3+pytest==6.2.4
    (不管是win还是mac,网上环境安装教程很多,参考下安装即可)

    -实战: 从0开始
    接下来我们以这个系统的登陆页面作为demo,开始进行web UI框架搭建:
    在这里插入图片描述
    最开始,我们设计了一个test_login.py文件,里完成了登陆脚本的设计:

    from selenium.webdriver.support.ui import WebDriverWait
    
    url = 'xx'
    
    class TestLogin():
    
        def setup(self):
            self.driver = webdriver.Chrome()
            self.driver.get(url)
            self.driver.maximize_window()
    
        def teardown(self):
            self.driver.close()
    
        #以下为login页面设计的case
    
        #case1:输入正确的用户名密码后页面跳转正常
        def test_is_null(self,name,password):
            self.driver.find_element(By.ID, 'user_name').send_keys(name)
            self.driver.find_element(By.ID, 'password').send_keys(password)
            self.driver.find_element(By.ID, 'submit-button').click()
            assert 'user/index' in self.driver.get_url(),'failed--用户名密码正确时登陆场景失败'
            print ('case pass')
    
        # case2:用户名/密码不匹配
        def test_not_match(self, name, password):
            pass
    
    

    写了1,2个用例时我们觉得没什么,但是随着case数量的增到,我们意识到了问题的严重性:
    1.不同的case明明是同一段代码,只是传参不一致,就需要重复写多次,即便复制/粘贴也累啊—》解决:参数化,实现数据分离–创建data层
    2.系统中某个页面发生变化,我准备去修改下对应的页面,结果代码写的过于分散,同一个页面的数据分散到了不同py模块,每次都修改不全,严重影响后期维护成本–》解决:引用PO模式(page object)–创建page层
    3.系统中存在公共模块(比如系统中存在一个上传下载功能),多个页面/多个case都要使用—》解决:创建一个公共模块(创建public层)
    ……
    诸如此类的问题随着case不断增多的状况下会明显感觉得到,接下来我们就开始逐一解决:

    参数化(data):
    利用pytest框架提供的@pytest.mark.parametrize()来实现,代码及页面接口设计如下:
    在这里插入图片描述
    读取json文件的代码:

    import os
    import json
    
    current_path = os.path.abspath(__file__)
    path = os.path.dirname(current_path)
    
    def get_json_data(specifypath):
        try:
            parent_path = os.path.dirname(current_path)
            path = f"{parent_path}/data/{specifypath}"
            with open(path) as file:
                data = json.load(file)
        
            return data
        except Exception as e:
            print (e)
    

    用例层调用data改造后的代码:
    在这里插入图片描述引用PO模式(page object):
    po模式:
    简单来说,就是以一个页面作为一个对象,把一个页面的内容写成一个.py文件;
    这个页面对象中包含内容:当前页面的元素定位及操作的整合;
    po模式中会引用一个basepage.py,这个文件里面一般包含的是driver相关的操作,比如:elements相关的改造,简单粗暴点理解:就是把self.driver.xx相关的内容都写到这里就行;其他页面都会继承basepage.py中的内容。

    按照上面逻辑我们继续改造代码:
    basepage.py:
    在这里插入图片描述
    login_page.py
    在这里插入图片描述
    我们看下case层怎么引用:
    在这里插入图片描述public层:
    在这里插入图片描述
    比如我登陆页面需要用到public中的内容,直接在login_page.py文件中继承即可使用public中的所有方法:
    在这里插入图片描述
    /以上就完成的框架设计/
    框架设计核心:分层思想、PO模式
    自动化框架设计一般都是设计都分为:page层、testcase层、public层、data层、report层(分层都比较灵活的,不管怎么分都是换汤不换药)
    给大家看下完整的框架结构:
    在这里插入图片描述
    运行所有的case都放在这个run.sh的shell脚本里,后期做jenkins集成也只需要跑这个脚本即可:

    echo 'start----------------'
    pip install -r requirements.txt
    pwd
    pytest 
    echo 'end----------------'
    

    关于report大家可以直接用pytest-html来实现,网上有很多教程参考;
    后期做jenkins集成直接参考之前写的内容。
    ///done//

    展开全文
  • 首先,WEB UI自动化框架的搭建以selenium为基础,需要了解一些基本用法:https://blog.csdn.net/qq_38175040/category_10942237.html 前言 我们以如下一段代码为例,刚刚初学完selenium的人差不多都是这样写的吧: ...
  • 测试小白,想问下web自动化测试下的Selenium2 和Robot Framework 和Macaca什么关系, 都有些什么优缺点呢?求大神指点下
  • 在上一篇章就软件自动化测试当中最简单也是最常用接口自动化测试进行了一个比较完整性的实战。可是当我们投入到实际工作应用中就会...所以近下来的学习内容就将进入到 [WEB 自动化(即 WEB 端 UI 自动化)]。.........
  • 自动化测试框架有什么作用?

    千次阅读 2022-04-02 16:16:34
    1.更快的上市时间:通过允许测试用例的持续执行,使用一个好的测试自动化框架有助于减少应用程序的上市时间。一旦自动化,测试库的执行将比手动测试更快,运行时间也更持久。 2.早期缺陷检测:对于测试团队来说,...
  • web自动化框架:selenium进阶

    千次阅读 2022-03-05 22:44:31
    web自动化框架的设计,同接口自动化框架一样,采用分层设计。 文件或目录 说明 common 常用模块,常用的一些函数封装 testcases 用例模块,所有的测试用例 test_data 用例数据 logs 日志目录 ...
  • 在开始学习python自动化测试之前,先了解目前市场上的自动化测试框架有哪些? 随着技术的不断迭代更新,优胜劣汰也同样发展下来。从一开始工具型自动化,到现在的框架型;从一开始的能用,到现在的不仅能用,还需要...
  • 实现WEB API自动化测试框架的步骤

    千次阅读 2022-04-12 20:22:14
    1.设计测试用例,再根据业务需求筛选需要进行自动化的业务接口 2.公共api封装 ①域名,公共参数写入配置文件 ②数据库相关方法 ③读写文件的方法 ④日志 ⑤加密解密的方法 ⑥consul方法 ⑦文件操作,邮箱操作 3.深入...
  • 自动化测试框架总结

    万次阅读 多人点赞 2021-12-26 15:05:36
    目录 1. 单元测试框架 2. Web自动化测试框架 3. iOS自动化测试框架 4. Android自动化测试框架 ...unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可..
  • 1.python安装selenium测试框架(也可以pycharm开发工具设置中对应的Python interpreter自动安装) 可以命令行安装 python -m pip install 模块名称 python -m pip install selenium 如果没有成功可能是python版本...
  • 五大Java自动化测试框架

    千次阅读 2021-03-03 10:36:09
    随着时间的推移和自动化测试的兴起,业界出现了许多基于Java,并根据不同的业务逻辑而发展起来的开源框架。在此,我向大家介绍并比较五种用到了Java的自动化测试框架。由Kent Beck和Erich Gamma开发的JUnit是xUnit...
  • 自动化测试框架设计模式

    千次阅读 2022-02-27 17:07:50
    在使用上面的自动化框架时,通常会结合使用分层思想,也就是一些自动化框架设计模式,今天重点分享一下UI自动化框架设计使用比较多的一种设计模式:Page Object设计模式。 一、什么是PO模式? PO模式,全称为...
  • 5大自动化测试的 Python 框架

    千次阅读 2020-09-14 16:49:53
    随着该编程语言的广泛使用,基于Python的自动化测试框架也应运而生,且不断发展与丰富。 因此,开发与测试人员在为手头的项目选择测试框架时,需要考虑许多方面的因素,其中包括:框架的脚本质量,测试用例的简单性...
  • UI 自动化框架对比2

    千次阅读 2021-10-26 13:26:32
    1、pytest 在开始本文之前,我想跟大家澄清两个概念,一个是测试框架一个是测试...好的测试框架应该具有很高的扩展性,支持二次开发,并能够支持多种类型的自动化测试。 测试工具的作用是为了完成某一类型的测试,.
  • Web自动化测试框架

    千次阅读 2021-06-10 20:31:46
    1.什么是框架框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。 框架是整个或部分系统的可重用设计,表现为一组抽象构件及...
  • 在自动化测试过程中,不可缺少的一部分就是 "测试报告" 。在前面的接口自动化测试的章节,其实已经讲了一些,最终是使用 "HTMLTESTRUNNER" 生成的测试报告...今天依然用其生成一个 "WEB自动化登录Case" 的测试报告。...
  • 年前项目Regression测试,初次使用Selenium+Python+BDD自动化框架Web页面的UI自动化测试,1feature,4个Scenarios,13个steps,累计发现2个bug,通过回顾,我们能够仔细的发现、归纳出在工作过程中出现的问题,在...
  • 什么是自动化测试框架自动化测试框架是为自动化测试脚本提供执行环境的脚手架。框架为用户提供了各种优势,帮助他们有效地开发、执行和报告自动化测试脚本。它更像是一个专门为自动化组织的测试而创建的系统。...
  • 如何搭建自动化测试框架

    千次阅读 2021-07-23 05:51:37
    本文主要以web自动化为例子,使用的语言是js。一、什么是自动化测试框架在了解什么是自动化测试框架之前,先了解一下什么叫框架框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另...
  • 俗话说 “没有最好的,只有最合适的”,今天我们就Python当前使用较为频繁的4大主流自动化测试框架, 来一回比拼,从中挑选最为合适你当前项目需求的那一款。 Robot Framework Unittest Nose2 ...
  • web自动化测试框架

    千次阅读 2019-01-04 15:48:38
    AutoMagic自动化测试平台简介 https://www.cnblogs.com/tsbc/p/6244268.html   安装过程中遇到的问题及解决方案 1、 https://blog.csdn.net/love_parents/article/details/80938818 2、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 394,488
精华内容 157,795
热门标签
关键字:

web自动化框架有哪些