zoukankan      html  css  js  c++  java
  • 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')
    博客园:http://www.cnblogs.com/CYTyeah CSDN:https://blog.csdn.net/qq_35081227
  • 相关阅读:
    【Intellij Idea】设置JDK
    MarkDown换行
    Git 查看/修改用户名、邮箱
    JavaScript对象
    Javascript事件
    第十次会议
    第九次会议
    详细设计文档
    第八次会议
    第七次会议
  • 原文地址:https://www.cnblogs.com/CYTyeah/p/9358024.html
Copyright © 2011-2022 走看看