当前位置: 首页 > news >正文

Robot Framwork 问题小记


1、必须在套件层添加Lib库,在用例中才能生效;

2、添加Lib库时,注意库名的大小写区分,这里是大小写敏感的;

3、当需要点击的元素没有id时,怎么办?

  • 相对路径?
  • CSS?
  • 折叠菜单,用js或者jQuery?

优先考虑相对路径,以下图为例,一开始试了相对路径、绝对路径都没用:

用户管理

通过xpath来定位“用户管理”,一直没反应,想不通原因。
直到查看测试报告中有一句:

WebDriverException: Message: unknown error: Element is not clickable at point (-115, 161)

这才想到,打开浏览器时默认缩放大小为左侧一半,确实左侧列表是还未显示的,需要点击列表栏按钮(上方三条杠)才会显示。

那么就有两种解决方案:

  • 打开浏览器后,先调整浏览器大小为全屏,即添加 Maximize Browser Window

  • 打开浏览器后,先点击列表栏按钮将列表栏显示出来,再点击用户管理按钮;

Attention:

  • 在步骤中适当 sleep 是很有必要的;
  • 列表打开或关闭的两种状态下,要提取的xpath有可能会不同,如果没注意到,可能还会报以下错误:
ElementNotVisibleException: Message: element not visible

4、用例关键字有中文时,可能会有报错:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)

编码问题,使用 u='关键字' 的方式并没有得到解决。

最后,参考解决方案(windows系统):

在 python 的 Lib -> site-packages 目录下新建一个文件sitecustomize.py

来源:http://robotframework.net/?/question/637

sitecustomize.py 内容如下:

#encoding=utf8
import sys

reload(sys)
sys.setdefaultencoding('utf8')

转载于:https://www.cnblogs.com/CYTyeah/p/9358024.html

相关文章:

  • 给MySQL增加一个表示例
  • 复变函数:复函数的空间与Montel定理
  • sed使用命令记录
  • db2模式
  • 配置企业库5.0管理
  • SuperMicro(超微)IPMI安装操作系统KVM教程-超微3U8刀服务器
  • Python cookbook笔记——求N个最大最小元素及lambda表达式
  • restful 学习地址
  • Flutter 开发一个 GitHub 客户端 | 掘金技术征文
  • brk/sbrk的使用
  • 我们要和你完成一件大事
  • Eclipse中文乱码问题
  • Vue 动态创建 component
  • ACM经典问题--布线问题(三)
  • 自然语言处理--Word2vec(一)
  • 【5+】跨webview多页面 触发事件(二)
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【译】理解JavaScript:new 关键字
  • 2017 前端面试准备 - 收藏集 - 掘金
  • C# 免费离线人脸识别 2.0 Demo
  • Docker: 容器互访的三种方式
  • java2019面试题北京
  • Java读取Properties文件的六种方法
  • js写一个简单的选项卡
  • React16时代,该用什么姿势写 React ?
  • Selenium实战教程系列(二)---元素定位
  • SpiderData 2019年2月13日 DApp数据排行榜
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Webpack 4 学习01(基础配置)
  • 和 || 运算
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 前端_面试
  • 前端知识点整理(待续)
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 《码出高效》学习笔记与书中错误记录
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (poj1.2.1)1970(筛选法模拟)
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (过滤器)Filter和(监听器)listener
  • (五)MySQL的备份及恢复
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net wcf memory gates checking failed
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项
  • .sdf和.msp文件读取
  • /etc/shadow字段详解
  • @RequestMapping-占位符映射
  • @Responsebody与@RequestBody
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [Android Studio] 开发Java 程序