python 自动化测试(6):jar包调用
时间:2022-07-24
本文章向大家介绍python 自动化测试(6):jar包调用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Python对jar包的使用
- 前言
- 依赖库
- 使用
前言
编写自动化时,可能会遇到一些语言之间的调用。 例如: 在登录页面,获取短信验证码后通过java编写的加密方式存入数据库中;使用python编写自动化脚本调用对应jar包,jar包的内容时对应的解密方式,则可以将解密好的内容放入对应输入框内就可以自动化登录了。
依赖库
Jpype1
安装 简单的安装方式,使用 Pycharm 编辑器,File --> settings, 如图所示安装即可:
使用
1、首先需要一个打包好的jar包,可以自己写;也可以让开发帮助,根据个人情况而定。
2、将jar包放入自己合适的位置,能够访问到就行,绝对路径、相对路径都可以。
import os, jpype
get_sms_code_jar_loc_path = "C:\BianYi\WorkSpaces\python\AutoUpp\AutoUppCxpay\data\lib\getsmscode.jar"
class RunJar:
"""
运行java文件
"""
def open_java(self, get_name):
jar_path = os.path.join(os.path.abspath("."), get_name)
jpype.startJVM(jpype.getDefaultJVMPath(), "-Djava.class.path=%s" % jar_path)
'''--获取短信验证码--'''
def get_sms_code(self):
self.open_java(get_sms_code_jar_loc_path)
javaClass = jpype.JClass("com.txpay.MokwingTest.GetSmsCode") # JClass 是对应java运行的主类名称,路径不能错,不然会报找不到执行的类异常,java.lang.RuntimeException: Class com.txpay.MokwingTest.GetSmsCode not found。
sms_code = javaClass().getSmsCode() # getSmsCode() 是jar包中具体执行的方法名称
print(sms_code)
return sms_code
'''--关闭jvm--'''
def close_jar(self):
jpype.shutdownJVM() # 调用此方法后,禁用对现有的java对象调用,终止后无法重新启动jvm
if __name__ == "__main__":
RunJar().get_sms_code()
- ttf设置文字字体
- R语言构建追涨杀跌量化交易模型(附源代码)
- Apache Spark中使用DataFrame的统计和数学函数
- android进程 清理及activity栈管理
- 机器学习模型的变量评估和选择基于技术指标『深度解析』
- Picasso and Android-Universal-Image-Loader缓存框架
- 解决ListView嵌套ListView遇到的问题
- 《OEA - 实体扩展属性系统 - 设计方案说明书》
- webview与js的相互交互
- Java与js的交互
- Rafy 框架 - 流水号插件
- 产品前端重构(TypeScript、MVC框架设计)
- 寻找最优持仓期的开盘缺口盈利交易策略基于Matlab
- Android SlidingMenu 侧拉菜单的使用(详细配置)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Redis-KV数据库Java连接以及Jedis包的使用
- codeforces 1203D1(暴力)
- codeforces 1366B(线段相交)
- 一文搞懂Python自动化测试框架
- codeforces 1005D(数学)
- JSP开发简单实例演示
- Linux笔记【003】| Linux系统目录结构与基本命令
- codeforces1322A(括号匹配)
- codeforces 1296D(贪心)
- codeforces 1399D
- JSP开发之JSTL介绍和使用
- codeforces 1283E(贪心)
- codeforces1216C (矩形面积交)
- codeforces 1234C(思维)
- codeforces 1405B(思维)