2017-03-21 73 views
-4

我想在python中創建自己的關鍵字。我如何連接python和robotframework?我知道我需要用我的函數導入python庫/文件。但是,我可以如何將selenium webdriver與該腳本連接?如何結合python和robotframework

例如: 我想擁有的功能,只按動按鈕,沒有必要定位。 我使用它的硒webdriver。 如何在不調用2個webdrivers的情況下使用它?

我有機器人測試:

test something -> my_own_keyword -> more robot tests 

我有蟒蛇file.py」

def press_button(button): 
    ... 
    ... 

我需要讓我的Python +硒功能工作機器人

+0

它會很難理解你。你可以提供一塊你的Python代碼,或者你想實現的至少是僞代碼嗎? – Andersson

+0

我沒有代碼。 我有機器人測試,我需要添加一些selenium2library沒有的功能。 我想用python + selenium webdriver製作新的關鍵字。 但是在selenium webdriver中,你會調用webdriver,並且我想使用已經由robotframework創建的那個。我很難理解, – mirko

+1

這在機器人框架用戶指南中描述得非常好。 http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#creating-test-libraries –

回答

1

爲了。開始開發自定義庫,對Robot Framework本身有一個很好的理解是很好的,這與你採取的方法沒有什麼不同,它假定你理解了常規應用程序擴展它。

這同樣適用於擴展現有的庫。你應該理解你將要編程的編程語言,但也要理解你將要擴展的庫。

只有當以上的項目在地方,你可以真正期望打造你的目標是什麼了。

在,你必須結合普通機器人框架與Selenium2Library和Python有了深入瞭解的經過了解事件那麼我建議你做到以下幾點。

  1. 設置你的Python開發環境。即安裝PyCharm或PyDev(Eclipse),並確保您有一個可用的Python環境,可與hello world示例一起使用。
  2. 瞭解Python Virtual Environment並進行設置。
  3. 創建一個新項目並開發一個標準的Robot Framework庫。確保您可以在python調試器中調試python代碼。在安裝了REDPyDev擴展的Eclipse中工作時,可以使用guide來設置該擴展。
  4. 使用PIP從python卸載Selenium2Library。在您的Python IDE中創建一個新項目,在新項目中從GitHub下載並提取Selenium2library代碼。使用python /.../Selenium2Library/setup.py develop以開發模式安裝Selenium2Library。這將允許您調整現有代碼並使其在Python中處於活動狀態,而無需重新安裝。

從現在起,您可能想要開始試驗自己的功能,並且只能在生產中使用自己的版本。這樣做的缺點是Selenium2Library的任何更新都需要與您自己的代碼合併。

但是,如果你想創建你可能要採取的靈感來自Extended Selenium2Library關於如何做一個新的庫擴展。這將允許您在不合並的情況下使用任何更新。但是,這將需要一些開銷來創建一個新的庫。

+2

首先,我已經擁有了所有這一套。 然後,我目前使用這個擴展的硒庫,因爲它提供了AngularJS同步支持和其他我需要的東西。 我只需要將我自己的功能導入到我的項目中。 我會從Bryan的建議中使用Page對象庫,但是謝謝你的回答。 – mirko

0

只要把你的圖書館與路徑進入設置在機器人的文件。

*** Settings *** Library ./libraries/extendedLibrary.py

在該文件中創建新的關鍵字extendedLibrary.py

def Capitalize_String(string): string = string.capitalize() return string

後,您可以使用您自己的新關鍵字機器人文件。

${string_with_capitals}= Capitalize_String all small letters

其結果是,你將不得不在機器人框架string_with_capitals變量等於「全小寫字母」