我目前正在使用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.
有人可以帮我理解为什么会这样吗?
答案 0 :(得分:6)
DateTime.ToString(format)
是一种从DateTime
创建字符串的方法。您传递的部分字符串将替换为时间值。例如:ss
中的"Asserting..."
替换为秒。
更改这些行:
Trace.WriteLine(DateTime.Now.ToString("Tab press x 20"));
你可能意味着像
Trace.WriteLine($"{DateTime.Now}: Tab press x 20");
答案 1 :(得分:2)
请改为尝试:
Trace.WriteLine(DateTime.Now.ToString() + "Enter press");