2017-06-13 15 views
0

有沒有不使用框架來運行硒測試的命令?例如pytest foo_test.py是否有命令執行未包裝在框架中的硒測試?

爲了運行以下測試,我的本地計算機上需要什麼?我很困惑,因爲這似乎是唯一的要求將是chromedriver,但我不知道要執行實際測試使用哪個命令。

from selenium import webdriver 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By 

capa = DesiredCapabilities.CHROME 
capa["pageLoadStrategy"] = "none" 

driver = webdriver.Chrome(desired_capabilities=capa) 
wait = WebDriverWait(driver, 20) 

driver.get('http://stackoverflow.com/') 

wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#h-top-questions'))) 

driver.execute_script("window.stop();") 

回答

1

這裏是回答你的問題:

正如你問Is there a command to run selenium tests without using a framework,答案是Yes

要回答簡單的話,在Python中存在某些框架,如pytest,unittest等,以構建您的測試執行和解釋測試結果。每個框架都有自己的優勢。當代碼庫變得龐大的框架可以幫助我們安排。但是使用框架並不是強制性的。

關於您的代碼,我沒有在您的代碼中看到任何重大錯誤,但是使用Selenium 3.x.x,您需要從here下載chromedriver並將其保存在您的機器中。在初始化WebDriver實例時,您需要提及chromedriver的絕對路徑,如下所示。

這裏是你自己的代碼有一些簡單的調整它在我的最終效果很好:

from selenium import webdriver 
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities 
from selenium.webdriver.support.ui import WebDriverWait 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.common.by import By 
capa = DesiredCapabilities.CHROME 
capa["pageLoadStrategy"] = "none" 
driver = webdriver.Chrome(desired_capabilities=capa,executable_path="C:\\your_directory\\chromedriver.exe") 
wait = WebDriverWait(driver, 20) 
driver.get('http://stackoverflow.com/') 
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, '#h-top-questions'))) 
driver.execute_script("window.stop();") 

讓我知道如果這個回答你的問題。

+0

謝謝,這有助於我完美地理解它。我也能夠在本地運行這個示例,看起來我只是錯過了驅動程序路徑。我正在研究任何指南,以便能夠在不使用語言的情況下運行selenium webdriver測試,以便更好地理解所有命令。 – Wunderbread

1

有實際的2個要求,您正在使用。硒本身是一個要求,然後是你提到的鉻酸鹽。該文件只是一個python文件,因此您可以通過執行python foo_test.py來運行它。也可以選擇使用像Unittest這樣的框架,這對於查看測試結果非常有用。

硒本身不是一個「測試框架」,它是一個允許用戶與Web瀏覽器交互的命令庫。 Selenium可用於網絡掃描或自動化任務以及測試目的。

+0

謝謝,我想指出,試圖執行包含上面的代碼中,我遇到了以下問題,我承擔chromedriver相關文件後(我需要點在上面的例子chromedriver?): 'python PageLoadTest.py Traceback(最近一次調用最後一次): 文件「PageLoadTest.py」,第12行,在 driver = webdriver.Chrome(desired_capabilities = capa)'還有更多,我只是限制了評論的輸出。 – Wunderbread

相關問題