尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Day15 综合实战

Day15 综合实战
📅 发布时间:2026/7/31 13:01:03

适用人群:想看完一整天的内容如何串联使用

目标:综合运用前 14 天所学的核心技能

一、实战场景

综合实战模拟了 4 个真实业务场景,覆盖日常自动化测试中最常用的技能:

---

---

---

登录表单

input、check、click、getText、assert

7 步

注册表单

input、selectByText、radio check、click、getText、assert

8 步

交互元素

rangeValue、hover、click、getText、assert

7 步

工具断言

getText、getAttribute、JSON提取、随机生成、存储变量

8 步

二、登录表单(loginTest)

1. 打开测试页

- 动作方法:navigateTo

- 说明:打开 day15_test.html 综合实战页面

2. 输入用户名

- 定位方法:getByPlaceholder(请输入用户名)

- 动作方法:input

- 动作值:admin

- 说明:通过 placeholder 定位用户名输入框并输入内容

3. 输入密码

- 定位方法:getByPlaceholder(密码)

- 动作方法:input

- 动作值:pass123

- 说明:输入密码,模拟登录表单填写

4. 勾选记住我

- 定位方法:getBylocator(#remember)

- 动作方法:check

- 说明:通过 CSS 选择器定位复选框并勾选

5. 点击登录

- 定位方法:getBylocator(#loginBtn)

- 动作方法:click

- 说明:点击登录按钮,触发 onclick 更新结果文本

6. 获取结果并存储

- 定位方法:getBylocator(#loginResult)

- 动作方法:getText

- 特殊方法:存储变量 → loginResult

- 说明:获取登录结果文本并存入变量,供后续断言使用

7. 断言含登录成功

- 定位方法:assert

- 定位值:@loginResult||登录成功

- 说明:断言存储的变量值包含"登录成功"

三、注册表单(registerTest)

8. 打开测试页

- 动作方法:navigateTo

- 说明:重新打开页面

9. 输入姓名

- 定位方法:getByPlaceholder(请输入姓名)

- 动作方法:input

- 动作值:张三

10. 输入邮箱

- 定位方法:getByPlaceholder(email@example.com)

- 动作方法:input

- 动作值:zhang@test.com

11. 选择国家

- 定位方法:getBylocator(#country)

- 动作方法:selectByText

- 动作值:#country||中国

- 说明:定位下拉框,按可见文本选择"中国"。注意参数格式:选择器||文本

12. 选中男性

- 定位方法:getBylocator(#genderM)

- 动作方法:check

- 说明:通过 CSS ID 选中 radio 选项

13. 点击注册

- 定位方法:getBylocator(#registerBtn)

- 动作方法:click

14. 获取注册结果

- 定位方法:getBylocator(#result)

- 动作方法:getText

- 特殊方法:存储变量 → regResult

15. 断言含注册成功

- 定位方法:assert

- 定位值:@regResult||注册成功

四、交互元素(interactTest)

16. 打开测试页

17. 滑块设值80

- 定位方法:getBylocator(#slider)

- 动作方法:rangeValue

- 动作值:80

- 说明:通过 boundingBox 计算坐标,鼠标点击滑块对应位置

18. 悬停按钮

- 定位方法:getBylocator(#hoverBtn)

- 动作方法:hover

- 说明:模拟鼠标悬停,触发 onmouseover 事件

19. 显示隐藏区域

- 定位方法:getBylocator(#showBtn)

- 动作方法:click

- 说明:点击按钮显示原本隐藏的 div

20. 设置动态文本

- 定位方法:getBylocator(#setTextBtn)

- 动作方法:click

- 说明:点击按钮通过 JS 设置文本内容

21. 验证动态文本

- 定位方法:getBylocator(#dynamicText)

- 动作方法:getText

- 特殊方法:存储变量 → dt

22. 断言动态文本

- 定位方法:assert

- 定位值:@dt||动态设置的文本

五、工具与断言(toolTest)

23. 打开测试页

24. 获取 h1 文本

- 定位方法:getBylocator(h1)

- 动作方法:getText

- 特殊方法:存储变量 → h1text

- 说明:获取页面标题文本,验证页面加载正确

25. 断言标题含 Day15

- 定位方法:assert

- 定位值:@h1text||Day15

26. 获取 placeholder 值

- 定位方法:getByPlaceholder(请输入用户名)

- 动作方法:getAttribute

- 动作值:placeholder

- 特殊方法:存储变量 → ph

- 说明:获取输入框的 placeholder 属性值,验证属性读取

27. 断言 placeholder

- 定位方法:assert

- 定位值:@ph||请输入

28. JSON 提取 code

- 动作方法:getValueByJsonPath

- 动作值:{"code":200}||$.code

- 特殊方法:存储变量 → code

- 说明:从 JSON 对象中按 JSONPath 提取值,验证 JSON 解析

29. 断言 code=200

- 定位方法:assert

- 定位值:@code||200

30. 随机生成 6 位

- 动作方法:randomUpperNum

- 动作值:6

- 特殊方法:存储变量 → rand

- 说明:生成随机字母数字混合字符串,验证工具方法

六、实用技巧总结

定位技巧

---

---

---

唯一 ID

getBylocator(#id)

最快、最稳定

输入框

getByPlaceholder

语义化、不易变

表单标签

getByLabel

HTML 关联,无歧义

按钮/链接

getByRoleByButton / getByText

语义化定位

下拉框

getBylocator(#id) + selectByText/Value

精确控制选项

复选框/单选框

getBylocator(#id) + check/uncheck

直接操作状态

变量存储与复用

#存储步骤
step("获取结果", actM="getText", specM="存储变量", specV="myVar")
#
使用步骤(@变量名引用)
step("断言结果", locM="assert", locV="@myVar||期望值")

常见断言类型

---

---

---

assert

包含断言(contains)

@var

期望文本

assertEquals

等于断言(equals)

@var

完全匹配

assertNot

不包含断言(!contains)

@var

不期望文本

assertEqualsNot

不等于断言(!equals)

@var

不匹配文本

参数分隔约定

所有多参定位/动作值统一使用 `||` 分割:

- `selectByText`:`#country||中国`(选择器 + 文本)

- `getByPlaceholderNth`:`请输入用户名||0`(文本 + 索引)

- `dragTo`:`getBylocator||#drop-target`(定位方式 + 定位值)

注意事项

1. `evaluate()` 返回 void,返回值无法存储。要获取 JS 结果请改用 `getText` 等有返回值的方法

2. 断言使用 `@变量名` 引用已存储的值,`paramDeal` 会自动解析

3. `failureIsGo="是"` 控制步骤失败后的行为:是 = 继续执行,否 = 跳出循环

4. 超时时间统一设为 3000ms,避免单个步骤等待 30 秒

七、运行结果总结

---

---

---

登录表单

7 步

✅ 全部通过

注册表单

8 步

✅ 全部通过

交互元素

7 步

✅ 全部通过

工具断言

8 步

✅ 全部通过

**总计**

**30 步**

**✅ 0 失败**

全部 30 步通过,覆盖了表单操作、交互元素、变量断言、工具方法等核心实战技能。

相关新闻

  • 2026实体门店数字化选型参考:6大自助收银机厂商综合实力对比 - 互联网科技品牌测评
  • 路径规划算法解析:从Dijkstra到仿生智能应用
  • STM32F103RCT6深度解析:从内核架构到实战应用与性能优化

最新新闻

  • Kubernetes Service 请求打不通:Pod 明明 Running,从 selector 到 kube-proxy 逐层定位
  • 高温天气下的电力应急通信多链路解决方案
  • 文科论文的 AI 味最难去?史论类长段论述的改写思路
  • Wireshark安全分析实战:从流量抓取到攻击链还原
  • 有没有好用的Office插件推荐?老师们日常备课提升效率用的
  • 弱网适配表现优异十六型人格测试渠道汇总,安卓苹果全机型兼容,老旧手机流畅运行 - 时讯资讯

日新闻

  • 7步掌握KMS智能激活工具:Windows和Office永久激活完整方案
  • 如何在Windows上运行iOS应用:ipasim跨平台模拟器终极指南
  • 2026年重庆工伤赔偿律师口碑推荐:洪家木律师用专业赢得信赖 - 本地品牌推荐

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号