首页 > 解决方案 > 如何使用 Robot Framework 在 wc3270 中设置 -charset 语言

问题描述

我尝试使用 Mainframe3270 库对大型机进行机器人操作,但我不知道如何在 Robot 中使用字符集,wc3270 不支持泰语。我尝试手动使用 wc3270 模拟器,它可以通过选项字符集设置语言并选择语言,但我不知道如何在机器人中执行此步骤

*** Settings ***
Library           Mainframe3270

*** Keyword ***
Update Credit Card
  Open Connection    ${HOSTNAME}
  Change Wait Time    0.9
  Page Should Contain String    PLEASE LOGON FOLLOW MENU TO SCB MAINFRAME   S/390
  Write Bare    ${LOGINCMD}    #login B2K
  Send Enter
  ${getStatus}    Read    12    18    3

我想得到泰文,但我得到了????????? text 而是因为 wc3270 无法显示泰语。请任何人帮助我。

标签: robotframeworkmainframe

解决方案


根据 wc3270 的此文档页面:

http://x3270.bgp.nu/wc3270-man.html#Character-Sets

泰语支持至少在 wc3270 的某些版本中可用。尝试wc3270 -v查看您的构建是否支持它。如果是这样,您可以使用该-charset thai选项(或-charset cp1160,或 中的等效项wc3270.charset)。

如果你使用这个框架:

https://github.com/Altran-PT-GDC/Robot-Framework-Mainframe-3270-Library

然后您可以简单地破解 Python 源代码以添加该代码页参数。如果我正确阅读了当前的源代码(不确定),那么您可以在 p3270.py 中更改一行。寻找这一行:

args = ['-xrm', 'wc3270.unlockDelay: False', '-xrm', 'wc3270.model: 2']

并将其更改为(全部一行):

args = ['-xrm', 'wc3270.unlockDelay: False', '-xrm', 'wc3270.model: 2' '-xrm', 'wc3270.charset: thai']

这应该有效。这可能不是最好、最优雅的解决方案——也许你可以做得更好。

根据 wc3270 文档,您还需要确保将 Microsoft Windows(运行 wc3270 的地方)设置为泰语。


推荐阅读