为什么 Trace.WriteLine 打印随机字符而不是指定的字符?
Why is Trace.WriteLine printing random characters instead of what has been specified?
我目前正在使用 Coded UI 编写自动化测试脚本。我在脚本的不同位置使用 Trace.Writeline 来帮助找出测试可能失败的地方。一个这样的片段如下:
Trace.WriteLine(DateTime.Now.ToString("Enter press"));
Keyboard.SendKeys("{TAB}");
Trace.WriteLine(DateTime.Now.ToString("Tab press x 20"));
Keyboard.SendKeys("{TAB 4}");
Keyboard.SendKeys("{TAB 4}");
Keyboard.SendKeys("{TAB 4}");
Keyboard.SendKeys("{TAB 4}");
Keyboard.SendKeys("{TAB 4}");
Trace.WriteLine(DateTime.Now.ToString("Asserting Period cell state."));
但是当测试是 运行 时,我得到以下输出:
2018/01/26 - 15:29:45 | Step 1
2018/01/26 - 15:30:17 | Step 2
2018/01/26 - 15:30:54 | Step 3
2018/01/26 - 15:31:08 | Step 4
2018/01/26 - 15:36:57 | Step 5
2018/01/26 - 15:42:46 | Step 6
2018/01/26 - 15:42:55 | Step 7
2018/01/26 - 15:43:04 | Step 10
2018/01/26 - 15:44:46 | Step 11
EnPer pre46
Tab pre47 x 20
A47erPinA.D. Perio26 cell 47PaPe.
有人能帮我理解为什么会这样吗?
DateTime.ToString(format)
是一种从 DateTime
创建字符串的方法。您传递的部分字符串将替换为时间值。例如:"Asserting..."
中的 ss
被秒替换。
更改这些行:
Trace.WriteLine(DateTime.Now.ToString("Tab press x 20"));
你的意思可能类似于
Trace.WriteLine($"{DateTime.Now}: Tab press x 20");
试试这个:
Trace.WriteLine(DateTime.Now.ToString() + "Enter press");
我目前正在使用 Coded UI 编写自动化测试脚本。我在脚本的不同位置使用 Trace.Writeline 来帮助找出测试可能失败的地方。一个这样的片段如下:
Trace.WriteLine(DateTime.Now.ToString("Enter press"));
Keyboard.SendKeys("{TAB}");
Trace.WriteLine(DateTime.Now.ToString("Tab press x 20"));
Keyboard.SendKeys("{TAB 4}");
Keyboard.SendKeys("{TAB 4}");
Keyboard.SendKeys("{TAB 4}");
Keyboard.SendKeys("{TAB 4}");
Keyboard.SendKeys("{TAB 4}");
Trace.WriteLine(DateTime.Now.ToString("Asserting Period cell state."));
但是当测试是 运行 时,我得到以下输出:
2018/01/26 - 15:29:45 | Step 1
2018/01/26 - 15:30:17 | Step 2
2018/01/26 - 15:30:54 | Step 3
2018/01/26 - 15:31:08 | Step 4
2018/01/26 - 15:36:57 | Step 5
2018/01/26 - 15:42:46 | Step 6
2018/01/26 - 15:42:55 | Step 7
2018/01/26 - 15:43:04 | Step 10
2018/01/26 - 15:44:46 | Step 11
EnPer pre46
Tab pre47 x 20
A47erPinA.D. Perio26 cell 47PaPe.
有人能帮我理解为什么会这样吗?
DateTime.ToString(format)
是一种从 DateTime
创建字符串的方法。您传递的部分字符串将替换为时间值。例如:"Asserting..."
中的 ss
被秒替换。
更改这些行:
Trace.WriteLine(DateTime.Now.ToString("Tab press x 20"));
你的意思可能类似于
Trace.WriteLine($"{DateTime.Now}: Tab press x 20");
试试这个:
Trace.WriteLine(DateTime.Now.ToString() + "Enter press");