[發(fā)明專利]一種Java和Python結(jié)合的自動化腳本開發(fā)方法和裝置有效
| 申請?zhí)枺?/td> | 202011577489.0 | 申請日: | 2020-12-28 |
| 公開(公告)號: | CN112597037B | 公開(公告)日: | 2022-07-22 |
| 發(fā)明(設(shè)計)人: | 曹宗凱;蔡寶列;彭申亮 | 申請(專利權(quán))人: | 江蘇蘇寧銀行股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F8/30 |
| 代理公司: | 南京瑞華騰知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 32368 | 代理人: | 錢麗 |
| 地址: | 210000 江蘇*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 java python 結(jié)合 自動化 腳本 開發(fā) 方法 裝置 | ||
本發(fā)明提出了一種Java和Python結(jié)合的自動化腳本開發(fā)方法和裝置,所述方法包括:部署開發(fā)和執(zhí)行環(huán)境;采用Java開發(fā)工具創(chuàng)建Java工程,并添加Jython依賴包;在所述Java工程內(nèi),創(chuàng)建公共庫關(guān)鍵字,以實現(xiàn)Java腳本對Python函數(shù)的調(diào)用;將所述Java工程打包成jar文件。本發(fā)明通過一個Java公共函數(shù),實現(xiàn)對Python文件中定義的函數(shù)調(diào)用,使得測試人員可以在Java開發(fā)的自動化腳本中,使用Python實現(xiàn)一些自定義的操作,可以適用于不同的自動化測試框架,具有通用性好,易于使用的優(yōu)點。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件測試領(lǐng)域,具體而言,涉及一種Java和Python結(jié)合的自動化腳本開發(fā)方法和裝置。
背景技術(shù)
在軟件測試中,被測系統(tǒng)的功能越來越復(fù)雜,測試用例的數(shù)量和測試用例執(zhí)行的頻次也日益增長。針對這種情況,越來越多的企業(yè)引入自動化測試,希望通過自動化的方式,解決當(dāng)前測試面臨的困境。在測試自動化框架的選擇上,針對不同的需求可以選擇開源軟件或者商業(yè)軟件,也可以通過自研的方式,開發(fā)符合自己需求的自動化測試框架;目前主流的自動化測試框架,支持通過Java語言或者Python等腳本語言進(jìn)行自動化腳本編寫。
自動化測試雖然可以提高測試效率,但是對測試人員的技能也提出了更高的要求。測試人員在使用Java編寫測試腳本時,即使有封裝好的Java公共庫可以使用,但是一些常用的字符處理、邏輯處理和業(yè)務(wù)處理還需要在腳本中去實現(xiàn)。這種情況就需要測試人員掌握相關(guān)的Java開發(fā)技能,對測試人員的技能要求較高,相較于Java腳本語言,Python腳本語言入門簡單,調(diào)試方便,測試人員很容易掌握。因此需要一種腳本開發(fā)的方法,解決測試人員開發(fā)過程中對Java開發(fā)技能的依賴問題。
發(fā)明內(nèi)容
鑒于上述問題,本發(fā)明提供了一種Java和Python結(jié)合的自動化腳本開發(fā)方法和裝置,實現(xiàn)對Python文件中定義函數(shù)的調(diào)用,使得測試人員可以在Java開發(fā)的自動化腳本中,使用Python實現(xiàn)一些自定義的操作,可以適用于不同的自動化測試框架,具有通用性好,易于使用的優(yōu)點。
為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案是:一種Java和Python結(jié)合的自動化腳本開發(fā)方法,包括:部署開發(fā)和執(zhí)行環(huán)境;采用Java開發(fā)工具創(chuàng)建Java工程,并添加Jython依賴包;在所述Java工程內(nèi),創(chuàng)建公共庫關(guān)鍵字,以實現(xiàn)Java腳本對Python函數(shù)的調(diào)用;將所述Java工程打包成jar文件。
作為優(yōu)選方案,所述創(chuàng)建公共庫關(guān)鍵字,包括:對獲取到的傳入?yún)?shù)進(jìn)行檢查;對所述傳入?yún)?shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的傳入?yún)?shù)通過Jython中提供的函數(shù)進(jìn)行Python函數(shù)調(diào)用;配置Python腳本執(zhí)行的環(huán)境變量,將公共庫和自定義的路徑加入到Jython執(zhí)行的path路徑中;加載Python腳本,并導(dǎo)入依賴的Java庫或者相關(guān)變量;執(zhí)行Python函數(shù),生成返回值;將返回值的Jython數(shù)據(jù)類型轉(zhuǎn)換成Java數(shù)據(jù)類型的對象,生成公共庫關(guān)鍵字返回值。
作為優(yōu)選方案,所述傳入?yún)?shù)至少包括Python腳本路徑、Python函數(shù)名和Python函數(shù)參數(shù),所述對獲取到的傳入?yún)?shù)進(jìn)行檢查,包括:檢查Python腳本路徑是否存在,檢查Python腳本中相應(yīng)的Python函數(shù)名是否存在,以及Python函數(shù)參數(shù)的格式是否符合要求。
作為優(yōu)選方案,所述對所述傳入?yún)?shù)進(jìn)行格式轉(zhuǎn)換,包括:將所述傳入?yún)?shù)從Jason字符串轉(zhuǎn)為Java的Map對象,再將Map對象轉(zhuǎn)為Jython包中定義的對象。
作為優(yōu)選方案,在所述生成公共庫關(guān)鍵字返回值之前還包括:將Java數(shù)據(jù)類型的對象轉(zhuǎn)換成Jason數(shù)據(jù)類型的字符串。
作為優(yōu)選方案,所述方法還包括:當(dāng)Python腳本中需要引用Java中的對象或者使用Java中定義的對象,通過PythonInterpreter.exec的方式定義或者導(dǎo)入所述公共庫關(guān)鍵字。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于江蘇蘇寧銀行股份有限公司,未經(jīng)江蘇蘇寧銀行股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011577489.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于支持類的標(biāo)識來下載Java應(yīng)用的方法、系統(tǒng)和計算機(jī)程序產(chǎn)品
- 啟動JAVA應(yīng)用的方法及裝置
- Java虛擬機(jī)的管理方法、監(jiān)控系統(tǒng)和監(jiān)控代理模塊
- 一種運行Java程序的方法和裝置
- 一種保護(hù)java程序的方法
- Java卡的Java代碼補(bǔ)丁方法
- 一種基于中間件架構(gòu)下java棧的多線程實現(xiàn)方法
- 一種支持JAVA卡補(bǔ)丁函數(shù)的智能卡
- 一種改進(jìn)的Java卡初始化方法和Java卡
- JavaEE平臺構(gòu)建方法、JavaEE平臺及云端系統(tǒng)
- 一種基于Python語言的網(wǎng)格系統(tǒng)實現(xiàn)方法
- 一種基于模塊鉤子的Python字節(jié)碼文件保護(hù)方法
- 一種通過加密Python明文源碼token的知識產(chǎn)權(quán)保護(hù)系統(tǒng)
- 一種創(chuàng)建Python沙盒環(huán)境的方法及電子設(shè)備
- 圖形化Python編程交互方法、系統(tǒng)及電子設(shè)備
- 一種基于Ambari實現(xiàn)Python組件管理的方法
- 一種基于Java自動調(diào)用Python腳本的方法
- Python與Scratch交互式編程方法及電子設(shè)備
- 一種 Python 源碼安全防護(hù)的實現(xiàn)方法及系統(tǒng)
- 一種生成python項目結(jié)構(gòu)圖的方法、系統(tǒng)及介質(zhì)
- 自動化設(shè)備和自動化系統(tǒng)
- 一種基于流程驅(qū)動的測試自動化方法以及測試自動化系統(tǒng)
- 用于工業(yè)自動化設(shè)備認(rèn)識的系統(tǒng)和方法
- 實現(xiàn)過程自動化服務(wù)的標(biāo)準(zhǔn)化設(shè)計方法學(xué)的自動化系統(tǒng)
- 一種日產(chǎn)50萬安時勻漿自動化系統(tǒng)
- 一種自動化肥料生產(chǎn)系統(tǒng)
- 一種電氣自動化設(shè)備自動檢測系統(tǒng)及檢測方法
- 用于自動化應(yīng)用的抽象層
- 一種基于虛擬化架構(gòu)的自動化系統(tǒng)功能驗證方法
- 自動化測試框架自動測試的實現(xiàn)技術(shù)





