各位伙伴,好久不见,今天我们带来了新的版本迭代,eTest 上线,得到的好多测试小伙伴的喜欢,再次感谢各位的支持,同时我们也收到的很多功能上的反馈,反馈最多的一个问题就是怎么支持录制上传文件,这个测试场景可能也是很多小伙伴的使用eTest 最大的困扰吧
小伙伴的反馈我们也会想尽办法,解决问题,在经过一系列的技术调研,今天我们发布了版本更新,本次更新带来了两个重大功能,一个是大家心心念念的文件上传功能,另外一个支持mock ,支持通过mock 数据,针对特殊场景的自动化测试
今天我们一起先来学习第一个功能文件上传
快速上手
文件上传这个场景比较特别,我们无法使用脚本录制,涉及到对本地文件的访问,我们可以通过修改测试脚本文件解决这个问题
首先我们要熟悉一下上传对应的字段 测试用例中有些测试场景需要支持文件上传,针对这个测试用例,可能需要开发者code代码
json
{
"xpath": "//*[@id=\"page-content\"]/div/div/div[1]/div/div[1]/div[1]/div/div[1]/input",
"filePath": "/Users/xxx/Desktop/desktop/myproject/load.png",
"type": "upload",
"iframe": "",
"selector": "document",
"url": "https://www.xiaomiyoupin.com/",
}
关键 key
key | 描述 | 是否必填 |
---|---|---|
url | 当前打开的 URL 地址信息 | Y |
filePath | 上传文件路径地址,支持绝对路径,或者默认桌面文件 | Y |
type | 获取当前操作的 dom 操作类型 upload | Y |
xpath | 获取当前操作的 dom 的唯一地址 | Y |
selector | 获取当前操作的 dom 的路径信息 | N |
iframe | 当前网页是否嵌有 iframe 地址 | N |
获取xpath
怎么获取xpath 路径,首先打开浏览器,输入页面,按f12
或者 鼠标右键选择检查
打开开发者模式
选择elements
然后选择点击作左边的鼠标icon
点击选中上传按钮信息,获取对应的上传input
元素
然后选择elements
对应的dom元素,然后鼠标右键菜单选择copy
选择 copy xpath
注意:获取的xpath 路径信息必须是input 结尾的文件上传控件,不然上传失败,并且对获取的xpath
路径信息有"
需要转译
json
//*[@id="page-content"]/div/div/div[1]/div/div[1]/div[1]/div/div[1]/input
转换成下列方式
json
"xpath": "//*[@id=\"page-content\"]/div/div/div[1]/div/div[1]/div[1]/div/div[1]/input",
文件路径
文件路径支持取本地绝对路径,如果只是一个文件名,则会默认桌面文件查找
json
"filePath": "/Users/xxx/Desktop/desktop/myproject/image.jpg",
//或者
"filePath": "image.jpg"
为了方便入手,我们以element-plus
为例,做了一个测试demo ,大家可以复制以下的信息,尝试演示,需要注意,必须保证你的桌面有一张image.jpg
的图片, 可以本地新建一个json文件,然后把下面的代码保存到json 文件中,上传到eTest工具中运行
json
[
{
"active": true,
"audible": false,
"autoDiscardable": true,
"discarded": false,
"favIconUrl": "https://element-plus.org/images/element-plus-logo-small.svg",
"groupId": -1,
"height": 759,
"highlighted": true,
"id": 84058496,
"incognito": false,
"index": 15,
"lastAccessed": 1709813379812.512,
"mutedInfo": { "muted": false },
"pinned": false,
"selected": true,
"status": "loading",
"title": "Upload 上传 | Element Plus",
"url": "https://element-plus.org/zh-CN/component/upload.html",
"width": 1920,
"windowId": 84054912,
"action": "start",
"cookies": [],
"indexNum": 0,
"date": 1709813400418,
"localStorage": {
},
"sessionStorage": {},
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36",
"isMobile": false,
"hasTouch": false,
"deviceScaleFactor": 1,
"type": "start"
},
{
"xpath": "//html",
"iframe": "",
"selector": "document",
"scrollTop": 168,
"scrollLeft": 0,
"type": "scrollWin",
"url": "https://element-plus.org/zh-CN/component/upload.html",
"indexNum": 1,
"date": 1709813414914
},
{
"xpath": "//*[@id=\"page-content\"]/div/div/div[1]/div/div[1]/div[1]/div/div[1]/input",
"filePath": "image.jpg",
"type": "upload",
"iframe": "",
"selector": "#page-content > div > div > div.doc-content > div > div:nth-child(5) > div.example-showcase > div > div.el-upload.el-upload--text > input",
"url": "https://element-plus.org/zh-CN/component/upload.html"
},
]
欢迎大家去体验一下探索的乐趣👉 乐趣链接eTest,也欢迎大家给个star,⭐️⭐️⭐️有想法可以留言,一定在第一时间回复欢迎骚扰