pycharm+python+selenium+pytest自动化测试框架搭建FAQ(ing)

如果你过程中碰到了百度不出来的问题?【解题的思路是关键,不然浪费时间精力】
(1)使用selenium的IDE,谷歌浏览器有插件,直接录制UI自动化,完事了转换成pytest可查看作为参考
(2)继续百度,没百度到,只有一个解释,就是你输入的关键字不对。(你要相信,你碰到的问题,肯定有人碰到过且分享了)
(3)请教python大佬,或许别人是另外一种思路。
(4)多读读selenium+python的源码

问题1:pycharm中的venv、external liarbries是干啥的?
venv就是你封装到这里的函数,只会影响到你这个项目functions为封装的常用基本函数
e l 是外部库,具体没理解,

问题2:时间的库待总结
from datatime import datatime,data,timedelta
def date_n(n):
return str((date.today() + timedelta(days = +int(n))).strftime("%Y-%m-%d"))

问题3:python执行代码的方式?

# 实例化类后,run才有结果。意思就是给你定义的函数赋值后,你右键run,代码才会跑起来。
if __name__ == '__main__':
    search_tickets("上海","杭州",1)

问题4:列表的内容必须保存在变量中,才能被print

# readlines() 快速一次性读读取文本内容,并将结果存储在列表中。
f = open('D:\\ui_date\\test_01.txt','r')
# print(type(f.readlines()))
txt = f.readlines()
print(txt)

问题5:数据类型,字符串、数字、数字类型等是啥关系
解决办法:(待复习)字符串、列表、字典、循环、函数、类,写着写着,突然觉得有必要把python基础再给整理一遍了,,,
数字:整数、浮点数、str()

问题6:Make sure that you use the correct version of ‘pip’ installed,pip版本不对
解决办法:
(1)根因:多装了一个urllib3,删掉就好了
(2)第二次碰到:pip install xlwt能安装,pycharm安装失败提示版本不能安装,
解决办法:替换下载的源头网址,setting->Project ->Python interpreterh>+> Manage Repositories>https://mirrors.aliyun.com/pypi/simple/,删掉原来的。
自带的不靠谱,后分析win能下载的原因是win搜索的源可用,pycharm自带的链接源不可用

问题7:发现导入的import是灰色的,
解决办法:点击灰色代码,提示optimize imports(优化imports),选择其中的 Suppress for statement,亮了
原理:为无法使用的导入声明添加了内容为“# noinspection PyUnresolvedReferences”的注释,其作用是:让PyCharm 在代码检查时人为跳过某些特定部分的代码检查。

问题8:读取excel的时候报错,
解决办法:把文件另存为*.xls

问题9:库、模块、类、方法、函数之间的关系?
函数、方法:就是def () 定义的内容,实现了一个功能,方便我们调用。方法是一种特殊的函数
类:class name() 下面包含了很多我们定义的函数def ()
模块:一个*.py的文件
库:selenium库,UI自动化的API的集合。

问题10:python的命名规范?
命名规范

问题11:发现类竟然提示多余的括号,
难道是私有属性的类,如果没有给类参数,那么就可以移除()吗

问题12:try except ,except有下划波浪线?
原因是在pycharm中我没有加具体的报错信息。忽视掉

问题13:为什么看源码?因为csdn一个人一个理解,你花了8小时发现你最终理解的是错的,被人误导了!!!
不会的,先在网上搜详解,然后看源码,看源码,必须看源码!

问题14:logging模块网上攻略非常多,存在很多误导人的地方,白白浪费了很多时间?
先简单查下,10分钟,如果没有满足的,强烈建议直接去bilbil的app,里面资源真多。

问题15:日志模块上周一直没调通,原因是:我添加了移除处理器==self.logger.removeHandler()

问题16:“pytest -vs test_2.py -n 2”执行后报错:pytest: error: unrecognized arguments: -n 2
根因:import xdist,我没有安装分布式执行用例的插件。

问题17:test_2.py执行用例过程中,发现pytest插件报错:PytestAssertRewriteWarning: Module already imported so cannot be rewritten
根因:反正插件对pytest的跨目录执行用例会有所影响。所以最好单独出来一个文件,只导入pytest,执行用例。

问题18:Terminal栏目输入:pytest -vs test_2.py -k ‘ao’ 报错,执行失败
根因:提示字符串必须是“”,单引号会失败

问题19:pytest在用例层跑单个test,结果跑了所有test用例
系统默认跑的是该文件的所有test,单独拿出一个文件比如suit.py,这个文件里可以执行对应py文件的单个test

问题20:今天封装了类:wait_select(self, value, *args),结果调用时候一直出问题?
根因:自己封装的类,函数没搞清楚,总共三个函数,最后两个形参中的By.Id没有“”,我带了,报什么错来着,说是入参有问题。

问题21:日志封装了中文,单线程执行了4个用例,控制台输出ok,分布式跑起来,控制台显示乱码,但还是跑完了。
根因:分布式应该不识别中文吧,可改变项目编码为国标:File->Settings->Editor->File encoding>>>GBK

问题22:关于pycharm、pytest用例代码,没有提示、无法关联方法的问题?
2月25日,记录一个坑了我两天的bug。开始写用例,当用例方法继承了被标记的函数后,这个函数封装了业务操作、基础操作,其中业务操作继承了 基础操作的类。所以可以直接调用我自己定义的各种封装。问题是:这里突然就不自动关联方法了,而且奇怪的是还能执行,卧槽了!!!那我怎么写用例啊,百度了2天,问了无数老铁,最终的办法是:删掉了项目自己生成的缓存文件,然后再去用用例,关联成功。有些问题百度都搜不到,,,哎

问题23:selenium 绘制多边形,需要用到画布

问题24:
报错:解决Python代码编码问题 SyntaxError: Non-UTF-8 code starting with ‘\xc1’
解决办法:https://blog.csdn.net/wyb_hardworking/article/details/19562971

问题24:
报错:

猜你喜欢

转载自blog.csdn.net/weixin_45451320/article/details/112685775