键盘输入 vs 复制粘贴
2017-01-18 15:53
211 查看
实际测试工作中,我相信大部分的国际化团队都在面临多种语言键盘的支持问题。同时,一定也听到过这样的原则——务必用键盘实际进行输入,而不是利用已存在的测试数据进行复制粘贴。面对这样啊要求,是否感觉相当的不可思议?为什么非得自找麻烦?真的有这个必要吗?在这里我必须调整面部表情,然后义正言辞的说——有!至于为什么,让本文来与你娓娓道来。
首先我们来做个小实验,创建一个默认的WinForm,只添加一个简单的TextBox,立刻运行!可以看到,无论我用键盘输入还是复制粘贴,文本都是可以正常输入的,没错吧?
不过接下来我要做一个小小的改动,添加一个KeyPress event,示例代码如下。
private void input_KeyPress(object sender, KeyPressEventArgse)
{
if(!Char.IsDigit(e.KeyChar) && e.KeyChar != 8 &&
e.KeyChar != 1&& e.KeyChar != 3 && e.KeyChar != 22)
{
e.Handled =true;
}
}
再次运行,尝试输入中文,又看到了什么?你应该会发现什么都没有显示……
但当你按下ctrl+c-> ctrl+v 后,奇迹出现了!
看到这儿,你是否已经知晓了此处的机关?同时也对为何要坚持键盘输入而非复制粘贴的测试策略有了进一步的认同?测试人员是为了这个前端的TextBox而测试?还是背后隐藏的Event?相信我也无需多言啦。
首先我们来做个小实验,创建一个默认的WinForm,只添加一个简单的TextBox,立刻运行!可以看到,无论我用键盘输入还是复制粘贴,文本都是可以正常输入的,没错吧?
不过接下来我要做一个小小的改动,添加一个KeyPress event,示例代码如下。
private void input_KeyPress(object sender, KeyPressEventArgse)
{
if(!Char.IsDigit(e.KeyChar) && e.KeyChar != 8 &&
e.KeyChar != 1&& e.KeyChar != 3 && e.KeyChar != 22)
{
e.Handled =true;
}
}
再次运行,尝试输入中文,又看到了什么?你应该会发现什么都没有显示……
但当你按下ctrl+c-> ctrl+v 后,奇迹出现了!
看到这儿,你是否已经知晓了此处的机关?同时也对为何要坚持键盘输入而非复制粘贴的测试策略有了进一步的认同?测试人员是为了这个前端的TextBox而测试?还是背后隐藏的Event?相信我也无需多言啦。
相关文章推荐
- Android的文本和输入---复制和粘贴(六)
- 密码输入如何阻止复制剪切和粘贴事件
- Cygwin复制,粘贴 直接用鼠标在黑框上选区即可,选区结束就已经复制了。cygwin里面Ctrl+V是不能粘贴的,用Shfit+ Insert(键盘上下左右方向键的上面) Cygwin 下切换目
- vim 复制到系统剪切板 VS 系统剪切板粘贴到vim
- ubuntu安装好matlab后键盘复制粘贴快捷键不能使用 解决办法
- 输入内容仅为数字,即使鼠标右击复制粘贴其他内容也为数字
- 【神器】vimum在浏览器中键盘操作选择、复制、粘贴,键盘党的最爱
- Android的文本和输入---复制和粘贴(二)
- 使用robot封装一个模拟键盘复制粘贴并按下回车的方法
- Html有关密码输入框复制和粘贴
- 密码输入框,确认密码输入框不能复制粘贴-----点击事件阻止
- Android的文本和输入---复制和粘贴(四)
- 文本和输入:复制和粘贴
- java中的文件输入输出流,实现复制粘贴
- C#winform只能输入数字后不能复制粘贴问题
- 在LINUX如何用键盘复制,粘贴
- UITextField、UITextView等输入后双击出现系统的copy,paste如何转化为中文的复制,粘贴?
- 从键盘输入一个字符串存入数组a中,再将数组a的内容复制到数组b中并 输出(不能调用strcpy函数)?
- android界开发如何禁止密码输入框复制粘贴
- UITextField、UITextView等输入后双击出现系统的copy,paste如何转化为中文的复制,粘贴?