ロボットフレームワークで「username」パラメータを持つPowershellスクリプトを呼び出す一連のテストがあります。これは、ユーザー名にASCII以外の文字(この場合は英文字)が含まれるまでは問題ありません。ロボットは文字を正しく出力しています(私は値を記録し、テキストファイルに値を書き込んでチェックしましたが、常に正しいです)。Robot FrameworkからPowershellにASCII以外の文字が表示され、疑問符で表示される
しかしPowershellスクリプトに達すると、ユーザー名には疑問符の行が表示されます。
これはテキストエンコーディングと関係がありますが、それに対処する方法があるかどうかはわかりません。
私はロボットからユーザ名をテンポラリテキストファイルに書き込んだ後、Powershellスクリプトを取得してその値をテキストファイルから読み取ることができます。これは正常に動作しますが、複数のマシンでこれらのスクリプトをたくさん実行するとかなり非効率です。
param
(
[parameter(Mandatory=$True)]
[string]$UserName
)
$username | Out-File C:\Temp\Test.txt -Encoding UTF8
スクリプトなしで推測するのは難しいです。まず、 '$ OutputEncoding = [Console] :: OutputEncoding' – Deptor