Postman实现WebUI自动化测试

这篇具有很好参考价值的文章主要介绍了Postman实现WebUI自动化测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

转载请注明出处❤️

作者:测试蔡坨坨

原文链接:caituotuo.top/1db4fa44.html


你好,我是测试蔡坨坨。

看到这篇文章的标题,是不是有小伙伴会感到惊讶呢?

Postman不是做接口测试的吗?为什么还能做UI自动化测试呢?

其实,只要你了解Selenium的运行原理,就可以理解为什么Postman也能实现UI自动化测试了。

Selenium底层原理

运行代码,启动浏览器后,webdriver会将浏览器绑定到特定的端口,作为webdriver的remote server(远程服务端),而client(客户端,也就是测试脚本,可以是Python或者Java代码)会借助CommandExecutor创建sessionId,发送http请求给remote server,remote server收到http请求后,调用webdriver完成操作,并将http响应结果返回给client。

所以,本质上是调用http请求的过程,因此也就可以理解为什么可以使用Postman实现UI自动化测试。

Postman实现UI自动化测试

以上我们知道了Selenium的底层原理其实就是调用http请求的过程,那么我们要想调用接口就需要知道接口信息,包括请求方式、请求地址、请求参数、请求格式等。

这些接口信息,我们可以通过对源码的分析得到。

运行chromedriver.exe

Selenium脚本:

from selenium import webdriver
driver = webdriver.Chrome()

执行上述代码,程序会打开Chrome浏览器。(前提:已经正确配置了Chrome驱动和对应的版本)

那么,Selenium是如何实现这一过程的呢?

源码分析:

D:\Python3\Lib\site-packages\selenium\webdriver\chrome\webdriver.py

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

我们可以看到它执行了一个cmd命令,这个命令主要是启动chromedriver.exe浏览器驱动,我们每次执行脚本前,程序会自动帮我们启动浏览器驱动。

由于我们跳过了代码脚本,因此需要手动启动浏览器驱动。

地址及端口号:127.0.0.1:9515

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

新建浏览器会话

D:\Python3\Lib\site-packages\selenium\webdriver\remote\webdriver.py

继续查看源码,这里有一行重要的代码:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

start_session()这个方法是向地址http://127.0.0.1:9515/session发送了一个post请求,参数是JSON格式,然后返回一个特定的响应信息给程序,主要就是新建了一个sessionId。

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

接口信息:

url: /session
method: POST
content_type: application/json

请求参数:

{
    "capabilities": {
        "browserName": "chrome"
    }
}

调用接口:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

访问目标网站

Selenium脚本:

driver.get("https://www.baidu.com")

执行以上代码,可以访问目标网站。

源码分析:

D:\Python3\Lib\site-packages\selenium\webdriver\remote\remote_connection.py

在RemoteConnection这个类中,定义了所有selenium操作需要的接口地址(这些接口地址全部封装在浏览器驱动程序中)。

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

其中Command.GET: ("POST", "/session/$sessionId/url")这个地址就是实现访问一个网站的URL。

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

紧接着,可以看到主要是通过execute()方法调用_request()方法通过urllib3标准库向服务器发送对应操作请求地址,进而实现浏览器各种操作。

打开浏览器操作浏览器实现各种动作是通过上一步新建浏览器会话返回的sessionId实现的关联。你也会发现后面操作的各种接口地址中都存在一个$sessionId,以达到能够在同一个浏览器中做操作。

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化
Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

接口信息:

url: /session/$sessionId/url
method: POST
content_type: application/json

请求参数:

{
    "url": "目标网站地址"
}

调用接口:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

窗口最大化

Selenium脚本:

driver.maximize_window()

源码分析:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

接口信息:

url: /session/$sessionId/window/maximize
method: POST
content_type: application/json

调用接口:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

元素定位

Selenium脚本:

driver.find_element(By.XPATH, "//input[@id='kw']")

源码分析:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

接口信息:

url: /session/$sessionId/element
method: POST
content_type: application/json

请求参数:

{
    "using": "xpath", // 定位方式
    "value": "//input[@id='kw']" // 值
}

接口调用:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

输入文本

Selenium脚本:

driver.find_element(By.XPATH, '//input[@type="text"]').send_keys("测试蔡坨坨")

源码分析:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

接口信息:

url: /session/$sessionId/element/$id/value
method: POST
content_type: application/json

请求参数:

{
    "text": "测试蔡坨坨"
}

接口调用:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

点击元素

Selenium脚本:

driver.find_element(By.XPATH, "//input[@id='su']").click()

源码分析:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

接口信息:

url: /session/$sessionId/element/$id/click
method: POST
content_type: application/json

接口调用:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

关闭浏览器

Selenium脚本:

driver.quit()

源码分析:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

接口信息:

url: /session/$sessionId
method: DELETE
content_type: application/json

接口调用:

Postman实现WebUI自动化测试,软件测试,postman,测试工具,自动化

postman_collection.json

链接:https://pan.baidu.com/s/12lzuy0f-o7aVO0oYgw3OMg
提取码:ctta文章来源地址https://www.toymoban.com/news/detail-844888.html

到了这里,关于Postman实现WebUI自动化测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 软件测试高频面试题(2023全新版)你必须掌握的面试技巧,包含HR面试、基础面试、JMeter面试、Postman面试、Python面试、自动化化面试、安全性能面试题

    1.1 面试技巧 💡 告诫给位小伙伴,技巧不是投机取巧,起到辅助作用,技术面主要看实力,这里是基于实力之上的技巧 1.2 面试形式 😄 面试形式分为技术面和 HR 面,技术面就是考察你的专业技术水平的,HR 面主要看你这个人的综合素质以及家庭情况符不符合公司要求(一般

    2024年02月11日
    浏览(51)
  • 实现人工智能的自动化测试:提高软件质量的关键步骤

    作者:禅与计算机程序设计艺术 1.1. 背景介绍 随着人工智能技术的飞速发展,软件测试领域也迎来了前所未有的挑战。为了提高软件质量,减少测试工作量,自动化测试应运而生。人工智能自动化测试是指利用人工智能技术对软件进行自动化测试,从而提高测试效率和测试质

    2024年02月07日
    浏览(63)
  • 测试中使用Postman实现接口自动化

    1.创建一个工作区 2.按照自己的需求去命名创建 1按照步骤去创建环境及表格的【变量】:VARIABLE 和【当前值】:CURRENT VALUE TEST_3 就是刚刚创建的环境 host就不用多说了都明白 Globals 这个就是来改变我们在请求接口时候赋值 全局变量 通用的 用法就不细说了往下看!!! 在第一

    2024年02月11日
    浏览(59)
  • 使用 Postman 实现 API 自动化测试

    背景介绍 名词解析 使用说明 执行 API 测试 集成 CI 实现 API 自动化测试 写在最后 相信大部分开发人员和测试人员对 postman 都十分熟悉,对于开发人员和测试人员而言,使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式。但 postman 本身是一个图形化软件,

    2023年04月08日
    浏览(41)
  • 如何用postman实现接口自动化测试

    开发中经常用postman来测试接口,一个简单的注册接口用postman测试: 接口正常工作只是最基本的要求,经常要评估接口性能,进行压力测试。 下面是压测数据源,支持json和csv两个格式,如果包含有中文,请将文件编码改为UTF-8(否则请求中文会乱码) csv格式数据如下(txt文件):

    2024年02月01日
    浏览(93)
  • Django+vue自动化测试平台(7)-- 使用Selenium+vue实现WebUI自动化及结果展示

    Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得

    2024年02月14日
    浏览(57)
  • 软件测试Pytest实现接口自动化应该如何在用例执行后打印日志到日志目录生成日志文件?

    Pytest可以使用内置的logging模块来实现接口自动化测试用例执行后打印日志到日志目录以生成日志文件。以下是实现步骤: 1、在pytest配置文件(conftest.py)中,定义一个日志输出路径,并设置logging模块。 2、在测试用例中调用logging模块,输入需要生成的日志信息。 3、运行p

    2024年02月10日
    浏览(62)
  • 【软件测试】- 将 Selenium 和 JMeter 测试脚本集成到 Jenkins 中实现自动化测试和持续集成(CI)及Jenkinsfile 实现 Jenkins Pipeline 原理介绍

    将 Selenium 和 JMeter 测试脚本集成到 Jenkins 中是实现自动化测试和持续集成(CI)的关键步骤。以下是详细的集成过程: 1、准备工作 安装 Jenkins : 确保您已经在服务器上安装了 Jenkins。 可以从 Jenkins 官网 下载并安装。 安装必要的插件 : 在 Jenkins 中安装所需的插件,如 Git 插

    2024年02月04日
    浏览(73)
  • 自动化测试 ——自动卸载软件

    在平常的测试工作中,经常要安装软件,卸载软件, 即繁琐又累。 安装和卸载完全可以做成自动化。 安装软件我们可以通过自动化框架,自动点击Next,来自动安装。 卸载软件我们可以通过msiexec命令行工具自动化卸载软件 平常我们手动卸载软件都是到控制面板中的\\\"添加/删除

    2024年02月08日
    浏览(64)
  • 软件测试 -- 自动化测试(Selenium)

            在这里记录一下  自动化测试 -- Selenium 的一些基础知识点,只记录方法。 Selenium 浏览器操作 Selenium 元素定位(包含 Web 表单) findElement 和 findElements         findElement 和 findElements 都可以用于定位元素,它们都需要传入一个 By 类型,但是他们的返回值不同,区

    2024年04月22日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包