有什么方法可以用 Selenium 发送授权的 Post 和 Get API 请求吗?

Is there any way to send authornicated Post and Get API requests with Selenium?

我可以分享实时场景。

第 1 步:启动浏览器执行一些功能测试,例如导航到某个页面并上传 image/video 文件

第 2 步:发送经过身份验证的 post 请求。

{

  "predicateParams": {

    "type":"dam:Asset",

    "p.offset": "0",

    "p.limit": "-1"

  },"dateParams": {

  "group.1_daterange.lowerBound":"2021-11-19T00:10:15",

  "group.1_daterange.upperBound":"2021-11-19T23:59:15"

  } 

}

第 3 步:阅读回复并从回复中找到预览 URL。

{
    "totalAssetsModifiedOrCreated": 1,
    "totalAssetsDeleted": 0,
    "deletedAssets": [],
    "hits": [
        {
            "path": "/content/dam/global-asset-library/Products/automation/download.jpg",
            "renditions": [
                "/content/dam/global-asset-library/Products/automation/download.jpg/jcr:content/renditions/cq5dam.web.1280.1280.jpeg"
            ],
            "metadata": {
               //Asset metadata
            },
            "previewLink": "https://qa.dam.com/content/dam/global-asset-library/Products/automation/download.jpg?qtm=1637340248265"
        }
    ],
    "status": {
        "code": "200",
        "message": "Search results found.",
        "success": true
    }
}

第 4 步:使用上述响应中的预览 link 发送获取请求。

{

  "predicateParams": {

    "type":"dam:Asset",

    "p.offset": "0",

    "p.limit": "-1"

  },"dateParams": {

  "group.1_daterange.lowerBound":"2021-11-17T00:10:15",

  "group.1_daterange.upperBound":"2021-11-18T23:50:15"

  } 

}

第 5 步:验证返回的先前发布的资产(例如:图片) Response of get request

非常感谢您的帮助。谢谢。

授权(基本)详细信息可以通过

given().auth().preemptive().basic("username", "password")

无论服务器是否需要认证,preemptive()方法都会发送用户名和密码。