摘要:用于實現單例類,避免多次申請賬號密碼是否覆蓋原會話獲取的接口登錄的接口請求并返回結果新建會話獲取成功登錄成功根據獲取需求列表并沒有依賴太多的庫,只用了常用的和模塊,調用的接口是從源碼中找到的。
最近有用到開源版的禪道系統,版本10.0,為了更方便地獲取禪道信息,我參照官方的說明寫了禪道api調用的腳本。由于網上能搜到的博客基本沒有,我就把自己的成果分享一下。在此申明,此文章內容是我自己原創,并不涉及公司機密,同時請各位請尊重我的勞動成果。
廢話不多說,直接上代碼再解釋吧。
import requests import json class Zentao_cli(object): session = None #用于實現單例類,避免多次申請sessionID sid = None def __init__(self, url, account, password, override = False): self.url = url self.account = account #賬號 self.password = password #密碼 self.session_override = override #是否覆蓋原會話 self.pages = { "sid": "/index.php?m=api&f=getSessionID&t=json", #獲取sid的接口 "login": "/index.php?t=json&m=user&f=login&account={0}&password={1}&sid={2}", #登錄的接口 "get_story_list_by_projectID": "/index.php?t=json&m=story&f=ajaxGetProjectStories&projectID={0}", "get_story_list_by_account": "/index.php?" } self.s = None self.sid = None def req(self,url): #請求并返回結果 web = self.s.get(url) if web.status_code == 200: resp = json.loads(web.content) if resp.get("status") == "success": return True, resp else: return False, resp def login(self): if self.s is None: if not self.session_override and Zentao_cli.session is not None: self.s = Zentao_cli.session self.sid = Zentao_cli.sid else: #新建會話 self.s = requests.session() res, resp = self.req(self.url.rstrip("/") + self.pages["sid"]) if res: print("獲取sessionID成功") self.sid = json.loads(resp["data"])["sessionID"] Zentao_cli.sid = self.sid login_res, login_resp = self.req(self.url.rstrip("/") + self.pages["login"].format(self.account, self.password, self.sid)) if login_res: print("登錄成功") Zentao_cli.session = self.s def get_story_list_by_projectID(self, projectID): #根據projectID獲取需求列表 req_url = self.url.rstrip("/") + self.pages["get_story_list_by_projectID"].format(str(projectID)) web = self.s.get(req_url) if web.status_code == 200: resp = json.loads(web.content.decode()) for k,v in resp.items(): print(k,v) if __name__ == "__main__": cli = Zentao_cli("http://192.168.xx.xx/zentao", "xxxxxx", "xxxxxx123") cli.login() cli.get_story_list_by_projectID(17)
并沒有依賴太多的庫,只用了常用的requests和json模塊,api調用的接口是從源碼中找到的。類初始化的時候只需要傳入禪道地址,帳號名,密碼,然后調用獲取的方法就行了。如果要做更多的操作,比如獲取bug列表,提交bug,提交需求,就需要與源碼中的函數一一對應寫函數傳參數進行交互。
如果本文章對您有用別忘了點個贊,加收藏。如果想要更多的函數實現,請在評論區艾特我,或者私信我,另外歡迎找我交流。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42742.html
目錄 一、禪道 一、測試工具背景 二、測試管理工具 三、測試工具介紹 四、禪道介紹 五、禪道操作 7. 創建發布 8. 測試團隊 二、缺陷報告 三、測試報告 一、概要 二、測試過程 三、缺陷分析 四、測試總結 四、接口測試以及用例編寫 五、Fiddler 好文推薦 一、禪道 一、測試工具背景 當測試環境搭建完成后,測試人員將在自己搭建的環境上執行測試用例,開展測試工作。測試人員在執行測試用例的過...
摘要:引言禪道的使用在其手冊中有比較詳細的介紹,大家可以參考其中還包括介紹的視頻。應用范圍禪道主要應用于軟件項目的管理。軟件完整使用其支持的流程主要按照敏捷開發的流程支持的。擴展機制,幾乎可以對禪道的任何地方進行擴展。 ...
摘要:但這并不意味著敏捷開發完全拋棄文檔,敏捷開發遵循輕文檔,重溝通的原則。把功能點拆分,導入到項目管理軟件中,相關人員只需要按照需求目錄一條條執行即可,不再需要一頁一頁的看了。如今的任務看板和燃盡圖已經由實物形式轉變為項目管理軟件。 我們比較熟知的軟件項目管理方法是瀑布。其基本流程是需求-> 設計->開發->測試。基本假設只要把每一個環節都做正確,那么最終得到的結果也是正確的。瀑布開發有非...
摘要:新公司使用禪道作管理系統。每次產品上線的時候,所有的測試人員測試出之就就提在禪道上。避免本頁跳轉導致腳本失效。并給它綁定事件。很多瀏覽器插件,其實也是在別人的網站上運行自己的腳本實現一些操作。 新公司使用禪道作bug管理系統。每次產品上線的時候,所有的測試人員測試出bug之就就提在禪道上。由于我們公司目前的測試只有一個,就把很多產品拉來湊數。他們分不清bug和需求。所以往往出現的情況是...
閱讀 1250·2023-04-26 01:38
閱讀 1462·2021-11-15 11:39
閱讀 3251·2021-09-22 15:43
閱讀 2638·2019-08-30 15:55
閱讀 2046·2019-08-30 14:17
閱讀 2850·2019-08-29 14:16
閱讀 3061·2019-08-26 18:36
閱讀 2606·2019-08-26 12:19