1、點擊ride界面啟動用例執行時,首先會調用腳本
2、打開pybot腳本查看內容、
3、打開robot包下面的run文件,我們可以看到信息
run文件內容
程序啟動的入口, sys.agv所表達的含義是:sys.argv[]說白了就是一個從程序外部獲取參數的橋梁,這個“外部”很關鍵,所以那些試圖從代碼來說明它作用的解釋一直沒看明白。因為我們從外部取得的參數可以是多個,所以獲得的是一個列表(list),也就是說sys.argv其實可以看作是一個列表,所以才能用[]提取其中的元素。其第一個元素是程序本身,隨后才依次是外部給予的參數。
然后我們看我們啟動的時候所攜帶的參數:
我們再次查看run_cli方法, 發現run_cli是命令行執行case的入口點,它帶有一個元素的參數, 然后他調用了RobotFramework().execute_cli(arguments, exit=exit)方法,並且把參數傳遞過去。
查看Robotframwork類,發現Robotframwork集成於Application類,execute_cli方法也來自於Application類
檢查Application類,先看看Application自於哪里來
檢查robot.utils包中的Application類的內容,可以看到先解析參數,然后再調用執行方法
查看解析參數的方法,發現解析參數的函數來自於ArgumentParser類
中的parse_arges方法
ArgumentParser類中的parse_arges方法, 這個就不細說了,反正是解析參數,參數來源時啟動的時候帶上的
執行
檢查Robotframework的main方法
通過main方法看出, TestSuiteBuilder這個類是robotframework的核心類,他負責了把測試用例集組裝起來,然后執行, 然后把結果寫到文件中。
下一遍重點講main方法和TestSuiteBuilder這個類運作原理