RF之變量的共享使用與python測試庫-5

RF申明變量:python

 

       首先咱們要建立Variables表api

       *** Settings ***less

       ${LoginUrl}      http://cloud.innovpowerf.com/Account/Login
函數

       ${StudentLoginUrl}      http://localhost/student/login測試

       @{database}        127.0.0.1     3306           ----------------List變量命令行

       &{user}             name=username    pw=password   ------------------Dict變量資源

 

使用變量文件:get

       能夠使用python模塊文件提供公共變量給RF使用,只須要直接定義變量就能夠了。語法徹底就是python語法。如:class

       StudentLoginUrl = 'http://localhsot/studfent/login'import

        RF申明使用變量文件:

        *** Setings ***

        Variables    ../cfg/cfg.py

       *注意* :變量文件申明時,能夠使用絕對路徑,也能夠使用相對路徑。

                    使用相對路徑時RF搜索規則和資源文件搜索規則同樣:

                            - 先在相對當前文件的目錄  匹配搜索;

                            - 在python的模塊搜索路徑中搜索,能夠用  --python參數   如:robot --python .tc/t1.robot

                    命令行參數指定變量文件:robot --variablefile cfg\cfg.py  tc/t1.robot

                    也能夠設置全局變量而後執行(寫成全局的配置文件):

                                  set pythonpath=.

                                  robot tc/t1.robot

python擴展關鍵字:

       python模塊做爲關鍵字:模塊文件名做爲測試庫的名字

                                        好比 python模塊叫MyLibrary,對應的python文件就是MyLibrary.py,那麼測試庫的名字就是MyLibrary

                                        定義在python模塊文件中的函數,名稱前有_前綴的不會做爲關鍵字

       def  returnList1():

                return[1, 2]

       def  _returnList2():

                return[1, 2]

       要保證其在python模塊的搜索路徑中,這樣RF才能找到它。

          * 直接設置環境變量

          * 用 --python參數    如:robot --pythonpath lesson1 lesson1/tmp.robot

          若是在lesson裏面的某個目錄中執行呢?   如  robot --pythonpath ..  ../tmp2.robot

       RF使用關鍵字的時候: - 中間能夠加上任意的空格   

                                     - 大小寫也能夠任意

       本身定義關鍵字的時候:以下

       from robot.api.deco import keyword   # 裝飾器

       @keyword

       def returnList():

              return[1, 2]

python類做爲測試庫:

      * 好比:python文件是tlib2.py

      class SubLibrary:   

              def returnInt(self):

                     return 3

              def _returnInt(self)

          return  4

   * 申明

      *** Settings ***

      Library       tlib2.SubLibrary

      * 該類中的成員方法,名稱前有_前綴的不會做爲關鍵字

      * 導入時的參數,對應類的初始化方法

      * 若是類和模塊文件同名,申明的時候就能夠省略後面的類名

python 擴展庫的搜索規則:

       徹底是按照python的模塊的搜索規則來的

          - 若是在包內,pylib/login/rightpass.py

            *** Settings ***

            Library       pylib.login.rightpass

           ---------------------------------------------------------------------

            Library      pylib/login/rightpass.py

          - 在Settings中    申明資源文件和變量文件:

            路徑、目錄之間的分隔符,不用點  .    而是用斜槓 / 

          - 在Settings申明測試庫:

            路徑、目錄之間的分隔符,能夠用點  也能夠用斜槓  /  

            路徑分隔符    用點後面不加py,用斜槓後面加.py

相關文章
相關標籤/搜索