行业知识
python-常用的库及常用函数
常用的库及常用函数
- 开发
- 后端开发
- Web 框架
- 数据库
- 认证和授权
- API 开发
- 其他工具
- 前端开发
- 模板引擎
- 前端框架
- 数据可视化
- Web 开发
- 其他工具
- UI自动化
- Selenium
- Appium
- PyAutoGUI
- Pywinauto
- unittest
- 接口自动化
- 1. **requests**
- 2. **unittest**
- 3. **json**
- 4. **pytest**
- 5. **mock**
- 6. **HTTPBin**
- 7. **其他库**
开发
Python 在后���和前端开发中都有广泛的应用。下面分别介绍一些常用的库和常用函数。
()后端开发
Web 框架
-
Flask: 一个轻量级的 Web 框架,适合小型到中型的应用。
- 常用函数:Flask(__name__), route(), render_template(), request 等。
-
Django: 一个功能强大的 Web 框架,遵循 MVC 设计模式,适合大型项目。
()- 常用函数/方法:models.py 中的模型定义,views.py 中的视图函数,urls.py 中的路由定义,以及 ORM 相关的查询方法。
数据库
-
SQLAlchemy: ORM 库,用于与关系型数据库交互。
- 常用函数/方法:session.add(), session.commit(), session.query() 等。
-
psycopg2: PostgreSQL 数据库的适配器。
- 常用函数/方法:执行 SQL 查询,处理结果等。
认证和授权
-
Flask-Login: 提供用户会话管理的扩展。
- 常用函数/方法:login_user(), logout_user(), current_user 等。
-
Flask-JWT-Extended: 用于处理 JSON Web Tokens (JWT) 的扩展。
- 常用函数/方法:create_access_token(), verify_jwt_in_request() 等。
API 开发
-
Flask-RESTful: 用于构建 RESTful API 的扩展。
- 常用函数/方法:定义资源类,使用 marshal 进行数据序列化等。
其他工具
-
requests: 用于发送 HTTP 请求。
- 常用函数:get(), post(), json() 等。
-
Python Decouple: 用于管理环境变量的库。
- 常用函数/方法:从 .env 文件中加载配置。
前端开发
虽然 Python 主要用于后端开发,但也有一些库和工具可以用于前端开发。
模板引擎
-
Jinja2: Flask 默认的模板引擎。
- 常用函数/方法:控制结构(如 for, if),变量插值({{ variable }}),过滤器等。
前端框架
- Pyodide: 在浏览器中运行 Python 的库,可以与 JavaScript 前端框架(如 React、Vue)结合使用。
数据可视化
-
Plotly: 创建交互式图表的库。
- 常用函数/方法:创建图表的各种函数,如 go.Bar(), go.Scatter() 等。
-
Bokeh: 用于数据可视化的交互式绘图库。
- 常用函数/方法:ColumnDataSource(), figure(), show() 等。
Web 开发
- Brython: Python 3 在浏览器中运行的实现,用于开发 Web 应用。
其他工具
- PyWebIO: 基于 Web 的简易 Python 输入输出库,用于快速创建基于 Web 的小工具。
需要注意的是,这里列出的只是部分常用的库和函数。实际上,Python 生态系统中还有大量的库和工具可供选择,具体选择哪个取决于你的项目需求和个人偏好。
UI自动化
UI自动化测试中,常用的库及其相关的常用函数如下:
Selenium
Selenium是一个用于Web应用程序测试的工具,它支持多种浏览器,并提供了丰富的API来进行UI自动化测试。
常用函数:
- webdriver.Chrome(): 初始化Chrome浏览器驱动。
- webdriver.Firefox(): 初始化Firefox浏览器驱动。
- driver.get(url): 打开指定的URL。
- driver.find_element_by_id(), driver.find_element_by_name(), driver.find_element_by_xpath(), driver.find_element_by_css_selector(): 根据不同的选择器查找页面元素。
- element.click(): 点击元素。
- element.send_keys(text): 在元素中输入文本。
- driver.quit(): 关闭浏览器。
Appium
Appium是一个用于移动应用(iOS和Android)的自动化测试框架,它允许你使用WebDriver协议来测试原生、移动Web和混合应用。
常用函数:
- webdriver.Remote(): 连接到Appium服务器并初始化WebDriver会话。
- driver.find_element_by_id(), driver.find_element_by_xpath(), driver.find_element_by_accessibility_id(), driver.find_element_by_class_name(): 在移动应用界面上查找元素。
- element.click(): 点击移动应用界面上的元素。
- driver.swipe(), driver.pinch(), driver.tap(): 执行手势操作,如滑动、捏放和点击。
- driver.get_screenshot_as_file(): 获取当前屏幕截图并保存到文件。
PyAutoGUI
PyAutoGUI是一个Python模块,用于程序控制鼠标和键盘来自动化GUI交互。
常用函数:
- pyautogui.moveTo(): 移动鼠标到指定位置。
- pyautogui.click(): 在当前鼠标位置执行点击操作。
- pyautogui.typewrite(text): 输入指定文本。
- pyautogui.press(key): 按下并释放指定的键。
- pyautogui.hotkey(key1, key2, ...): 发送热键组合。
Pywinauto
Pywinauto是一个用于Windows GUI自动化测试的库。
常用函数:
- Application().start(path_to_executable): 启动一个Windows应用。
- app.window(title=...): 选择一个窗口。
- window.Button('Button text').click(): 点击窗口中的按钮。
- window.Edit('Edit control').set_text('Some text'): 在编辑框中输入文本。
- window.close(): 关闭窗口。
unittest
虽然unittest不是专门用于UI自动化的库,但它是Python的标准测试框架,经常与上述库结合使用来编写和管理UI测试用例。
常用函数:
- unittest.TestCase: 创建测试用例类。
- test_method(): 编写测试用例方法(通常以test_开头)。
- self.assertEqual(expected, actual): 断言预期值和实际值是否相等。
- self.assertTrue(condition): 断言条件是否为真。
- unittest.main(): 运行所有测试用例。
这些库和函数提供了进行UI自动化测试所需的基本功能。具体使用哪个库和函数取决于你的测试需求,例如你要测试的是Web应用还是移动应用,以及你的测试环境。
接口自动化
在Python中进行接口自动化测试时,常用的库和函数包括:
1. requests
requests 是Python中一个非常流行的HTTP库,用于发送所有类型的HTTP请求。
常用函数:
- requests.get(url, params=None, **kwargs): 发送GET请求。
- requests.post(url, data=None, json=None, **kwargs): 发送POST请求。
- requests.put(url, data=None, **kwargs): 发送PUT请求。
- requests.delete(url, **kwargs): 发送DELETE请求。
- response.status_code: 获取HTTP响应状态码。
- response.json(): 解析JSON响应内容。
- response.text: 获取响应的文本内容。
- response.headers: 获取响应头信息。
2. unittest
unittest 是Python的标准测试框架,用于编写和运行测试用例。
常用函数/方法:
- unittest.TestCase: 创建测试用例类。
- test_method(): 编写测试用例方法(通常以test_开头)。
- self.assertEqual(expected, actual): 断言预期值和实际值是否相等。
- self.assertTrue(condition): 断言条件是否为真。
- unittest.main(): 运行所有测试用例。
3. json
json 库用于处理JSON数据。
常用函数:
- json.loads(s): 将JSON格式的字符串s解码为Python对象。
- json.dumps(obj): 将Python对象obj编码为JSON格式的字符串。
4. pytest
pytest 是一个更现代、更灵活的测试框架,与unittest类似。
常用函数/方法:
- pytest.mark.parametrize(): 参数化测试。
- assert: 断言语句,用于验证测试条件。
- pytest.fixture(): 定义测试前需要设置的固定装置(如数据库连接、配置加载等)。
5. mock
mock 库用于模拟对象和行为,以便在测试中替换实际对象或行为。
常用函数/方法:
- mock.patch(): 用于模拟对象、方法或属性。
- mock.Mock(): 创建一个模拟对象。
- mock.call_args: 获取模拟对象被调用时的参数。
- mock.assert_called_with(): 断言模拟对象是否以特定参数被调用。
6. HTTPBin
HTTPBin 是一个在线的HTTP请求和响应服务,常用于接口测试中的模拟后端。
常用URL:
- /get: 测试GET请求。
- /post: 测试POST请求。
- /status/CODE: 返回指定HTTP状态码。
7. 其他库
- responses: 用于模拟HTTP响应的库。
- requests-mock: 用于模拟HTTP请求的库。
- pytest-httpbin: 结合pytest和HTTPBin的库,用于接口测试。
这些库和函数提供了接口自动化测试所需的基本功能,包括发送HTTP请求、编写测试用例、处理JSON数据、模拟对象和行为等。具体使用哪个库和函数取决于你的测试需求和个人偏好。
- PyWebIO: 基于 Web 的简易 Python 输入输出库,用于快速创建基于 Web 的小工具。
- Brython: Python 3 在浏览器中运行的实现,用于开发 Web 应用。
- 常用函数/方法:ColumnDataSource(), figure(), show() 等。
-
- Pyodide: 在浏览器中运行 Python 的库,可以与 JavaScript 前端框架(如 React、Vue)结合使用。
- 常用函数/方法:控制结构(如 for, if),变量插值({{ variable }}),过滤器等。
-
- 常用函数/方法:从 .env 文件中加载配置。
-
- 常用函数/方法:定义资源类,使用 marshal 进行数据序列化等。
-
- 常用函数/方法:create_access_token(), verify_jwt_in_request() 等。
-
- 常用函数/方法:执行 SQL 查询,处理结果等。
-
- 常用函数/方法:models.py 中的模型定义,views.py 中的视图函数,urls.py 中的路由定义,以及 ORM 相关的查询方法。
-
下一篇:挂视频服务器怎么赚钱?