C# 为什么Trace.WriteLine打印的是随机字符而不是指定的字符?
我目前正在使用编码UI编写一个自动测试脚本。我在脚本中的不同地方使用了Trace.Writeline来帮助找出测试失败的地方。其中一个片段如下所示:C# 为什么Trace.WriteLine打印的是随机字符而不是指定的字符?,c#,.net,coded-ui-tests,C#,.net,Coded Ui Tests,我目前正在使用编码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}"); Keyb
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
创建字符串的方法。传递的部分字符串将替换为时间值。例如:“断言…”
中的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");
好吧,那太尴尬了!我确实打算写后者,但我不知道怎么会错过。@RustyWizard不客气,我想我们大多数人都有过这样的日子:)