如何使Robot Framework函数接受参数作为字符串而不是默认的unicode类型

 天边的云YEAH_988 发布于 2023-02-13 13:59

我正在编写一个新的RF库,需要使用字符串参数,因为我使用的(预先存在的)Python库需要字符串,而不是unicode.当然,我可以在调用仅支持字符串的现有函数之前将每个unicode转换为字符串.

import ConfigParser

class RFConfigParser:

def get (self,section, option):
    print type (section) #prints unicode
    section = str (section) #works but I dont want to do this
    return self._config.get (section, option) #this pre-existing function expect a string input

问题是我有很多类似的函数,在每个函数中我都要将这个unicode称为字符串转换马戏团.

有没有直接的方法这样做,因此RF功能将直接接受字符串格式

另一个问题是默认的unicode支持Robot Framework功能还是RIDE功能?(我正在使用RIDE,这就是我遇到这个问题的原因)

1 个回答
  • 在将这些Unicode字符串传递给库之前,可以使用Evaluate关键字将这些Unicode字符串强制转换为普通字符串.

    像这样的东西:

    lib.py:

    def foo(foo):
        print type(foo)
    

    的test.txt

    *** Settings ***
    Library           lib.py
    
    *** Test Cases ***
    demo
        ${bar}    Evaluate    str('bar')
        foo    ${bar}
    

    最佳解决方案取决于具体情况.也许一个解决方案是编写一个关键字,为您执行该转换,然后调用库函数.也许最好的选择仍然是修改你的库以接受Unicode字符串.这取决于.

    2023-02-13 14:01 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有