Selenium脚本获取Cookie中的数值

使用Selenium录制功能测试脚本非常方便,能够减轻测试人员的繁重工作量,针对不同版本录制一下Selenium脚本,对应新的发布版本可以优先使用Selenium脚本验证系统的功能,对于没有通过测试用例再手工检查测试,如果页面元素发生变化必须更新Selenium脚本。

不管是前后端分离项目,还是传统的后台项目,有些数据是存放在Http Cookie中的,而且是动态数据,编写通用Selenium脚本时,需要解析Cookie中的数据作为变量用在后续的Http请求中,比如用户登录页面通常需要输入验证码,验证码是符图片,为了支持自动化测试,需要寻求开发人员帮助,在测试期间将验证码放在Cookie中,Selenium可以从Cookie中解析出验证码,并输入到页面的输入框中,这样测试登录脚本就比较通用,可以作为公共代码使用。

在这里插入图片描述

var start=document.cookie.indexOf('vcode=')+'vcode='.length; 
var end=document.cookie.indexOf(';',start); 
if(end == -1) 	
	return document.cookie.substring(start); 
else 	
	return document.cookie.substring(start, end);
{
  "id": "fec21223-4086-48c3-8cb0-f3629819b047",
  "version": "2.0",
  "name": "Test",
  "url": "http://localhost:8080",
  "tests": [{
    "id": "111eb6e9-62dc-4eae-876a-3ecb63340dcf",
    "name": "1.Login",
    "commands": [{
      "id": "369f9098-664c-475a-aa91-a6bcadd588b1",
      "comment": "",
      "command": "open",
      "target": "/",
      "targets": [],
      "value": ""
    }, {
      "id": "71061e4a-e439-4530-a443-157fc9445dd2",
      "comment": "",
      "command": "setWindowSize",
      "target": "1768x1200",
      "targets": [],
      "value": ""
    }, {
      "id": "94e9b9f0-ecf1-446c-b2db-bd72d40e89e2",
      "comment": "",
      "command": "type",
      "target": "css=.el-form-item:nth-child(1) .el-input__inner",
      "targets": [
        ["css=.el-form-item:nth-child(1) .el-input__inner", "css:finder"],
        ["xpath=//input[@type='text']", "xpath:attributes"],
        ["xpath=//div[@id='app']/div/div/div[2]/form/div/div/div/input", "xpath:idRelative"],
        ["xpath=//input", "xpath:position"]
      ],
      "value": "gf:gfadmin"
    }, {
      "id": "da9e1c19-92f2-4f0c-8802-e8412239d691",
      "comment": "",
      "command": "type",
      "target": "css=.el-form-item:nth-child(2) .el-input__inner",
      "targets": [
        ["css=.el-form-item:nth-child(2) .el-input__inner", "css:finder"],
        ["xpath=//input[@type='password']", "xpath:attributes"],
        ["xpath=//div[@id='app']/div/div/div[2]/form/div[2]/div/div/input", "xpath:idRelative"],
        ["xpath=//div[2]/div/div/input", "xpath:position"]
      ],
      "value": "1"
    }, {
      "id": "eb588d76-9e99-41cc-83c2-3f1a19d4d32c",
      "comment": "",
      "command": "click",
      "target": "css=.sys-login",
      "targets": [
        ["css=.sys-login", "css:finder"],
        ["xpath=//div[@id='app']/div", "xpath:idRelative"],
        ["xpath=//div/div", "xpath:position"]
      ],
      "value": ""
    }, {
      "id": "1a2d204e-c3ba-48f7-9d59-68d4bcef28b1",
      "comment": "",
      "command": "storeValue",
      "target": "css=.el-form-item:nth-child(1) .el-input__inner",
      "targets": [],
      "value": "vcode"
    }, {
      "id": "c168c39b-38fd-4ee7-a0bd-da03cdbc9db5",
      "comment": "",
      "command": "executeScript",
      "target": "var start=document.cookie.indexOf('vcode=')+'vcode='.length; var end=document.cookie.indexOf(';',start); if(end == -1) \treturn document.cookie.substring(start); else \treturn document.cookie.substring(start, end);",
      "targets": [],
      "value": "vcode"
    }, {
      "id": "a3dff630-63bd-43d8-9d4b-b95fea6d2e87",
      "comment": "",
      "command": "type",
      "target": "css=.el-form-item:nth-child(3) .el-input__inner",
      "targets": [
        ["css=.el-form-item:nth-child(3) .el-input__inner", "css:finder"],
        ["xpath=(//input[@type='text'])[2]", "xpath:attributes"],
        ["xpath=//div[@id='app']/div/div/div[2]/form/div[3]/div/div/input", "xpath:idRelative"],
        ["xpath=//div[3]/div/div/input", "xpath:position"]
      ],
      "value": " ${vcode}"
    }, {
      "id": "3ca4bcd8-ac55-4634-9f23-9ea9dbe6bdc7",
      "comment": "",
      "command": "click",
      "target": "linkText=登录",
      "targets": [
        ["linkText=登录", "linkText"],
        ["css=.btn-login", "css:finder"],
        ["xpath=//a[contains(text(),'登录')]", "xpath:link"],
        ["xpath=//a[@type='primary']", "xpath:attributes"],
        ["xpath=//div[@id='app']/div/div/div[2]/form/a", "xpath:idRelative"],
        ["xpath=//a", "xpath:position"],
        ["xpath=//a[contains(.,'登录')]", "xpath:innerText"]
      ],
      "value": ""
    }]
  }],
  "suites": [{
    "id": "2e63b072-297e-41ab-95e9-ac1520b71287",
    "name": "Default Suite",
    "persistSession": false,
    "parallel": false,
    "timeout": 300,
    "tests": ["111eb6e9-62dc-4eae-876a-3ecb63340dcf"]
  }],
  "urls": ["http://localhost:8080/"],
  "plugins": []
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值