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')