如何远程调试Python代码

Python013

如何远程调试Python代码,第1张

JetBrains 公司出品的集成开发环境以制作精良风格一致得到广泛好评,PyCharm 作为其中一款针对 Python 语言的 IDE 给了我很多帮助,感觉比较好用的是这个远程调试。

远程调试的代码部署在远端服务器上,通过网络传输使用本机进行单步调试。实用场景为本机为非 GPU 机器,可以在远端 GPU 服务器上运行程序,观察程序运行过程中,各个变量在断点处的当前值。

本机打开程序,新建一个configuration

如上图所示

类型为远程调试

填写 本机 ip和端口,

python2.x拷贝pycharm-debug.egg到远端机器,python3.x拷贝的是pycharm-debug-py3k.egg

程序中加入

sys.path.append('/path/to/your/remote/pycharm-debug.egg')

import pydevd

pydevd.settrace('172.18.76.241', port=8602, stdoutToServer=True, stderrToServer=True)123

本机先debug此configuration,然后远端再运行,默认断点为pydevd.settrace的下一行

使用Python代码封装自动化测试的用例, 意味着将代码封装到一个整体中, 在python中面向对象的编程思维方式是最适合封装了:

①把测试的数据和测试的过程封装到类的内部成为一个整体, 便于测试数据和测试流程的管理维护;

②Python中面向对象封装的特性有利于隐藏内部实现的复杂度, 对于调用者来说直接调用即可 ;

③Python面向对象中的类,是实现封装最佳体现, 把数据和对数据的操作封装在类的内部,, 对数据起到保护作用, 提高了代码的安全性和健壮性;

④Python中面向对象的编程模式体现了模块化的思想, 模块可以重用, 模块容易扩展, 简化测试的流程, 提高测试的效率。

更高效的编写实现自动化测试用例,Python中面向对象编程思维方式是必须掌握的,亲戚在传智播客学的软件测试,现在月薪13K。