问题记录

1.接口返回的数据中存在换行,导致比对失败,只能在期望数据中也进行换行才行,很麻烦

  解决办法:通过re.sub((" ","",res.text))进行去除

2.在做接口自动化的编写测试用例,在运行一个测试用例的时候,出现如下报错,各种尝试,最后终于找到原因

  先看报错,翻译:位置35处的未终止字符集

Error
Traceback (most recent call last):
  File "D:python3.6libsite-packagesddt.py", line 153, in wrapper
    return func(self, *args, **kwargs)
  File "G:1WorkSpace(Pycharm)Algorithm01TestCases	est_api.py", line 94, in test_api
    re_obj = re.finditer(case_data["expected_data"],res_text)
  File "D:python3.6lib
e.py", line 229, in finditer
    return _compile(pattern, flags).finditer(string)
  File "D:python3.6lib
e.py", line 301, in _compile
    p = sre_compile.compile(pattern, flags)
  File "D:python3.6libsre_compile.py", line 562, in compile
    p = sre_parse.parse(p, flags)
  File "D:python3.6libsre_parse.py", line 856, in parse
    p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, False)
  File "D:python3.6libsre_parse.py", line 415, in _parse_sub
    itemsappend(_parse(source, state, verbose))
  File "D:python3.6libsre_parse.py", line 522, in _parse
    source.tell() - here)
sre_constants.error: unterminated character set at position 35

  说一下背景,这条测试用例是通过正则表达式进行匹配判断,是否断言成功的,部分代码如下:

  期望结果:case_data["expected_data"] ={"ret":"0","totalcount":397,"tasks"[]:,"desc":"Success"}

  接口返回结果:res_text = {"ret":"0","totalcount":397,"tasks"[]:,"desc":"Success"}

re_obj = re.finditer(case_data["expected_data"],res_text)
print("正则表达式匹配模式,匹配的内容为:{0}".format(re_obj))
self.assertIsNotNone(re_obj,"正则表达式匹配失败!")

  报错翻译过来是:位置35处的未终止字符集,发现 35处是tasks对应的一个空列表,去掉这个空列表,就不会发生报错,

  怀疑应该是正则匹配时,对空列表一直取值,导致本次匹配一直没有停止的原因

3.离线安装requests缺少依赖包

 4.在使用阿里云服务器,一定要看阿里云设置的端口安全组,是不是支持这个端口,否则不通,在使用jenkins的时候,需要添加端口号,才可以跑任务

5.使用ride引入自写的Python函数的时候出现一个有意思的现象,按照正常操作需要将自写的py文件放到对应python2.7的scripts的目录下,然后进行引用,发现引用失败,然后将这个文件删除后,发现引入标红的文件名变成了黑色,引用成功

6.编程规范的错误一

  部分代码如下 

feature = get_Feature(url,ls_f)
# print(feature)
insert_feature=insert_feature(url_insert,repo,filename,feature)
print(insert_feature)

  报错如下:

Traceback (most recent call last):
  File "G:/01WorkSpace(Pycharm)/Pict_Search/addFeature1.py", line 66, in <module>
    insert_feature=insert_feature(url_insert,repo,filename,feature)
TypeError: 'str' object is not callable

  错误很低级啊,将接收变量的名字insert_feature与自己写的函数名字命名成一样的,就会返回字符串不可以调用,唉

7.解决Intellij idea Error:java: 无效的源发行版: 1.8

  原因在于模块的target bytecode version和实际的编译器版本不一致所导致的错误。不管三七二十一,把所有jdk版本统统改成一样的,首先按下快捷键ctrl+shift+alt+s:

 

  

原文地址:https://www.cnblogs.com/user-moxiaohao/p/10779041.html