想用Python做自动化测试?这16个容易踩的坑请注意!

想用Python做自动化测试?这16个容易踩的坑请注意! 要是想参与自动化测试这事儿, 那必然是绕不开学习这个环节的, 然而在其作为一门编程语言的情况下, 它所要求掌握的技能以及需要留意的要点实际上是存在着诸多方面的, 就在今天先将这些暂且搁置在一边不去谈论, 仅仅是来讲讲大家寻常总会踩到的一些陷阱, 瞅瞅你是不是也掉进其中了, 期望这篇篇幅不长的小短文能够助力你成功避开这些“坑”一拼写出错误为什么这个错误是测试猿最经常会犯的呢, 原因在于大家都知道有好多中国的小孩都惧怕英文, 而代码里面毕竟是存在一些基础单词的, 好多同学有时会记不全或者认得不熟情况都很有可能致使拼写出错, 况且即便英语水平达标的人有时打字速度太快同样有可能出现差错。比如说:二缩进错误这是一种有着强制缩进要求的语言, 换而言之, 代码的结构以及逻辑是靠缩进来予以确定的。要是缩进并不准确, 那就会致使出现语法方面的错误或者逻辑方面的错误。比如:三类型出问题一般通常情况下, 当进行运算或者函数调用之际, 诸如错将错误的数据类型传入里头, 我就会时不时地因为一时疏忽大意而在此处不慎踩到坑洼之中。它身为一门动态类型语言, 变量的类型是于运行的时候被予以确定的, 并非是在编译之际, 这般一来虽说会比别的情况更为具备灵活性, 但与此同时不可避免地也反倒会进一步增添出现错误的风险, 具体情况如下:四缺少括号与某些编程语言相同, 借助括号去呈现列表、元祖、优先级、函数调用、字典等, 准确运用括号属于编写有效且 clear 的代码的关键构成部分, 然而欠缺括号会致使语法或者名称这类的错误, 就如下所示:五索引越界其中, 尝试去访问一个序列, 像列表、字符串或者元组的索引时, 要是超出了序列本身有效的范围, 那么就会出现索引越界错误, 而这一般常常是因为尝试着访问一个不存在的索引位置以此引发造成的, 在后续这里存在给出具备一些关于可以索引越界这一部分实例样本的示例:在中当尝试访问一个序列比如列表、字符串或元组的索引超出其有效范围时就会发生索引越界错误。这通常是由于尝试访问一个不存在的索引位置所导致的。以下是一些关于索引越界的示例5.1列表索引越界在进行打印操作时, 出现报错提示为列表索引超出范围。5.2字符串索引越界Helloprint()#: index out of range5.3元组索引越界(1,2,3)print(), # 出现了元组索引超出范围的情况。5.4切片越界在使用切片时如果指定的范围超出了序列的长度同样会引发。print()#:list index out of range5.5为防止索引越界错误, 能够于访问索引之前查看序列的长度, 或者运用异常处理机制去捕获异常并采取恰当的措施, 类似于这样:3try:valueprint(value):输出格式化输出“索引%1$s超出范围。”, “{}”。经由这样的办法, 哪怕索引超出界限范围 , 程序依然能够应对此种状况 , 进而不会出现崩溃现象。六忘记写冒号很多人在定义函数、条件语句、循环等结构时常常忘记使用冒号。七忘记使用于函数里头, 要是忘掉运用, 又或者未曾清晰明确返回值, 这便极有可能致使函数返回None , 就好像这样:八误用“”做等值比较“”是给变量赋值“”才是判断两个值是否相等如x5if x5:print(x is equal to 5)else:print(x is not equal to 5)改为x5if x5:print(x is equal to 5)else:print(x is not equal to 5)九误用逻辑运算符有不少萌新, 对于逻辑运算符的优先级, 依旧是颇为陌生的, 因而一开始的时候, 或许会理所当然地让它和数学里头的写法维持一致, 像这般:x5#错误的使用混淆了逻辑运算符的优先级if 1print(x is 1 and 10)else:print(x is the range)这样写的话就相当于等同if(1print(x is 1 and 10)else:print(x is the range)其实只需要更简洁的写法即可实现x5if 1print(x is 1 and 10)else:print(x is the range)十变量作用域错误有关于任何一门编程语言的情况, 存在着作用域的概念。若对于变量作用域不熟悉, 进而进行滥用, 那么就有可能致使出现意外的结果。而实际上, 作用域在性能测试工具当中仍然是存在的。在此处列举一个作用域错误的例子:x10#全局变量def ():print(x)#尝试访问全局变量y5#局部变量print(y)()把(y)进行打印, #试着在全局的范围之内去访问局部的变量, 如此坚决必然会引发。十一字符串与非字符串连接对于只要牵扯到字符串与非字符串的连接, 不少刚开始去接触的那些当中, 很多是会弄出疑难状况涌现出来的, 就好似下面此种情形呀。当不是字符串的内容与字符串相连时, 需要先把不是字符串的内容转变成字符串的类型, 之后才可以实现连接。改为:十二列表的索引位置不少人将我们平日的思维引入到学习里, 于是就觉得既然是像列表这类的也是起始于1, 然而在计算机的世界当中都是从0开始计数的。这时编译器便会给出提示: “list index out of range.”也即是超出界限了。这是鉴于这边的元素是从0起始计数的, 那么这边若要输出柚子, 却是第5个元素。标点符号。改为十三使用自增“”自减“–”编程语言学得多的时候, 有时就会有坏处, 那是会把其他语言的编程知识不知不觉用到其中, 当然, 理论是同一个, 只是有些规则发生了变化, 像Java中不存在的自增i与自减i--, 造成了下面这个错误:可以看到编译器这边已经出现警告了。这时可以使用“”来代替“”改为十四使用关键字命名变量3中的33个关键字错误的, 无, 正确的, 并且, 作为, , 中断, 类, , 定义, 删除, elif, 否则, , , 对于, 从, , 如果, , 在, 是, 的, 不, 或者, 通过, 引发, , 尝试, 而, , 与, 产生。定义自定义变量之际, 变量的名称是不可以和这些关键字出现重复情况的, 实际上, 其他的编程语言同样也是遵循着这条规则的十五索引元素位置时忘记调用len方法运用索引位置去求取列表元素之际, 忘掉得先借助len函数来取得列表的长度。改正十六函数中的局部变量赋值前被使用在其中, 程序执行之际, 乃是先去查找局部变量, 于函数当中, 要是找寻不到x、y的值, 才会往外部去查找, 在这个时候, 就会出现print之时变量x、y尚未赋值的那种错误, 所以, 函数里的局部变量, 必定是赋值之后才能够使用。总结无论学习哪一门编程语言, 都会碰上诸多的坑, 别指望能有捷径走, 踩的坑越多越是在锻炼你, 当然条件是知道错了就改正, 而且要牢牢记住。当然除了从这些坑中吸取教训之外, 还要多去敲代码, 熟练了就能生巧也能避开那些坑到文末了, 我向你发出邀请, 邀请你进入由我们所创建的软件测试学习交流群在这个群里, 大家能够一同展开探讨与交流, 交流的内容皆是有关于软件测试, 大家可以一起学习软件测试技术, 一起学习软件测试面试等软件测试所涵盖的方方面面, 还能够了解测试行业当下最新的趋势, 这有助于你快速踏入自动化测试或者测试开发这样的领域之中, 在稳住你当前所拥有的职位基础之上逐步迈进获得较高薪资的道路。最后1将注意力予以关注, 并且通过私信进行回复, 回复内容为“测试”, 如此一来便能够免费获取一份容量为10G的软件测试工程师面试宝典文档资料。与此同时, 与之相对应的视频学习教程也会免费进行分享2对其予以关注, 并且私信回复“入群”字样, 如此一来便能够对你进行邀请, 从而促使你进入到软件测试群当中, 进而展开学习以及交流活动~~