一般测试中特殊字符通常分为三类
1.一类是软件本身的一些字段不能是某些字符。
比如,用户名不能是中文和一些特殊符号,mail的地址就是一个很典型的例子,登陆的时候用户名只能是字母、数字、下划线等,这个时候一般会直接通过js check的方式处理这一类的问题。
2. 数据库相关字符
就是一些特殊字符和sql语句中的字符是一样的,这个时候会造成数据的遗失或写入数据库失败,例如&是查找数据时,两个条件之间的分隔符,这样在做select的时候容易出现错误。Input的时候,单引号也是数据的分隔,所以这个符号会经常导致数据被截。
3. html转义字符
在HTML中,定义转义字符串的原因有两个:第一个原因是像“”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。
http协议特殊字符 》html转义字符
接口测试中的特殊字符
1.在接口测试中,涉及到数据表的读写操作,要考虑参数值取数据库特殊字符的情况。
mysql中(python) 用MySQLdb.escape_string函数来对字符进行转义。(但该函数不能对%,_)进行处理
2.在bs结构的接口测试中,通过http协议将html文档在web服务器和web浏览器间进行传输,要考虑html的特殊字符。如涉及到数据表的插入时,参数值取&的情况。涉及到数据表的读取时参数值取&时的情况。
文章转载来源:六六的博客