Robot Framwork 问题小记


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

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

三、当须要点击的元素没有id时,怎么办?浏览器

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

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

用户管理

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

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

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

那么就有两种解决方案:spa

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

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

Attention:blog

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

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

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')
相关文章
相关标签/搜索