RobotFramework环境配置二十五:屏幕截图问题(滚动屏幕)

来源:互联网 发布:dj音乐制作软件 编辑:程序博客网 时间:2024/05/20 08:22

屏幕截图问题(滚动屏幕)

目的:Selenium2Library 屏幕截图无法保存全屏,需要让屏幕滚动到目标元素的位置。
实现:Execute Javascript

一、用例:选卡中心选择课程测试

  1. 登录
  2. 进入“选卡中心”
  3. 选择课程
  4. 检测元素

期望显示结果:
A. 显示课程名
B. 显示“立即学习”或者“立即购买”按钮
这里写图片描述

实际显示结果:

这里写图片描述

Selenium2Library 屏幕截图无法保存全屏。而且只有当其点击元素时,才会滚动屏幕。所以,需要让屏幕滚动到目标元素的位置,截取并保存。

二、Execute Javascript 方式

定义关键字:Screen_Scroll

这里写图片描述

参数:
A. ${position} 为屏幕坐标:根据手动测试结果定位
B. ${browser} 为浏览器类型:firefox 跟其他浏览器对 Execute Javascript 的操作不相同;

firefox:document.documentElement.scrollTop
其他浏览器:document.body.scrollTop

Run Keyword If  '${browser}' in ['ie', 'chrome', 'chrome360', 'chrome360se']Execute Javascriptdocument.body.scrollTop=${position}... ELSE IF '${browser}' in ['ff', 'firefox']document.documentElement.scrollTop=${position}

三、总结
Selenium 是模拟 Javascript 操作浏览器。有时无法得到想要的结果,考虑使用 Execute Javascript 方式实现。例如,元素无法定位或者 css 伪元素定位的问题。

原创粉丝点击