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')
posted @ 2018-07-17 10:47  CYTyeah  阅读(121)  评论(0编辑  收藏  举报